演示如何列出通知渠道。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
C#
static void ListNotificationChannels(string projectId)
{
var client = NotificationChannelServiceClient.Create();
var response = client.ListNotificationChannels(new ProjectName(projectId));
foreach (NotificationChannel channel in response)
{
Console.WriteLine(channel.Name);
if (channel.DisplayName != null)
{
Console.WriteLine(channel.DisplayName);
}
Console.WriteLine();
}
}
Go
channelClient, err := monitoring.NewNotificationChannelClient(ctx)
if err != nil {
return err
}
defer channelClient.Close()
channelReq := &monitoringpb.ListNotificationChannelsRequest{
Name: "projects/" + projectID,
// Filter: "", // See https://cloud.google.com/monitoring/api/v3/sorting-and-filtering.
// OrderBy: "", // See https://cloud.google.com/monitoring/api/v3/sorting-and-filtering.
}
channelIt := channelClient.ListNotificationChannels(ctx, channelReq)
for {
resp, err := channelIt.Next()
if err == iterator.Done {
break
}
if err != nil {
return err
}
b.Channels = append(b.Channels, &channel{resp})
}
Java
private static List<NotificationChannel> getNotificationChannels(String projectId)
throws IOException {
List<NotificationChannel> notificationChannels = Lists.newArrayList();
try (NotificationChannelServiceClient client = NotificationChannelServiceClient.create()) {
ListNotificationChannelsPagedResponse listNotificationChannelsResponse =
client.listNotificationChannels(ProjectName.of(projectId));
for (NotificationChannel channel : listNotificationChannelsResponse.iterateAll()) {
notificationChannels.add(channel);
}
}
return notificationChannels;
}
Node.js
// Imports the Google Cloud client library
const monitoring = require('@google-cloud/monitoring');
// Creates a client
const client = new monitoring.NotificationChannelServiceClient();
async function deleteChannels() {
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
// const filter = 'A filter for selecting policies, e.g. description:"cloud"';
const request = {
name: client.projectPath(projectId),
filter,
};
const channels = await client.listNotificationChannels(request);
console.log(channels);
for (const channel of channels[0]) {
console.log(`Deleting channel ${channel.displayName}`);
try {
await client.deleteNotificationChannel({
name: channel.name,
});
} catch (err) {
// ignore error
}
}
}
deleteChannels();
PHP
use Google\Cloud\Monitoring\V3\NotificationChannelServiceClient;
/**
* @param string $projectId Your project ID
*/
function alert_list_channels($projectId)
{
$channelClient = new NotificationChannelServiceClient([
'projectId' => $projectId,
]);
$channels = $channelClient->listNotificationChannels(
$channelClient->projectName($projectId)
);
foreach ($channels->iterateAllElements() as $channel) {
printf('Name: %s (%s)' . PHP_EOL, $channel->getDisplayName(), $channel->getName());
}
}
Python
def list_notification_channels(project_name):
"""List alert notification channels in a project.
Arguments:
project_name (str): The Google Cloud Project to use. The project name
must be in the format - 'projects/<PROJECT_NAME>'.
"""
client = monitoring_v3.NotificationChannelServiceClient()
channels = client.list_notification_channels(name=project_name)
print(
tabulate.tabulate(
[(channel.name, channel.display_name) for channel in channels],
("name", "display_name"),
)
)
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。