列出通知渠道
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
演示如何列出通知渠道。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
Node.js
如需向 Monitoring 进行身份验证,请设置应用默认凭证。
如需了解详情,请参阅为本地开发环境设置身份验证。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# List notification channels\n\nDemonstrates how to list notification channels.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Create and manage notification channels by API](/monitoring/alerts/using-channels-api)\n\nCode sample\n-----------\n\n### C#\n\n\nTo authenticate to Monitoring, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n static void ListNotificationChannels(string projectId)\n {\n var client = NotificationChannelServiceClient.Create();\n var response = client.ListNotificationChannels(new ProjectName(projectId));\n foreach (NotificationChannel channel in response)\n {\n Console.WriteLine(channel.Name);\n if (channel.DisplayName != null)\n {\n Console.WriteLine(channel.DisplayName);\n }\n Console.WriteLine();\n }\n }\n\n### Go\n\n\nTo authenticate to Monitoring, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n channelClient, err := monitoring.NewNotificationChannelClient(ctx)\n if err != nil {\n \treturn err\n }\n defer channelClient.Close()\n channelReq := &monitoringpb.ListNotificationChannelsRequest{\n \tName: \"projects/\" + projectID,\n \t// Filter: \"\", // See https://cloud.google.com/monitoring/api/v3/sorting-and-filtering.\n \t// OrderBy: \"\", // See https://cloud.google.com/monitoring/api/v3/sorting-and-filtering.\n }\n channelIt := channelClient.ListNotificationChannels(ctx, channelReq)\n for {\n \tresp, err := channelIt.Next()\n \tif err == iterator.Done {\n \t\tbreak\n \t}\n \tif err != nil {\n \t\treturn err\n \t}\n \tb.Channels = append(b.Channels, &channel{resp})\n }\n\n### Java\n\n\nTo authenticate to Monitoring, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n private static List\u003cNotificationChannel\u003e getNotificationChannels(String projectId)\n throws IOException {\n List\u003cNotificationChannel\u003e notificationChannels = Lists.newArrayList();\n try (NotificationChannelServiceClient client = NotificationChannelServiceClient.create()) {\n ListNotificationChannelsPagedResponse listNotificationChannelsResponse =\n client.listNotificationChannels(ProjectName.of(projectId));\n for (NotificationChannel channel : listNotificationChannelsResponse.iterateAll()) {\n notificationChannels.add(channel);\n }\n }\n return notificationChannels;\n }\n\n### Node.js\n\n\nTo authenticate to Monitoring, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n // Imports the Google Cloud client library\n const monitoring = require('https://cloud.google.com/nodejs/docs/reference/monitoring/latest/overview.html');\n\n // Creates a client\n const client = new monitoring.https://cloud.google.com/nodejs/docs/reference/monitoring/latest/overview.html();\n\n async function deleteChannels() {\n /**\n * TODO(developer): Uncomment the following lines before running the sample.\n */\n // const projectId = 'YOUR_PROJECT_ID';\n // const filter = 'A filter for selecting policies, e.g. description:\"cloud\"';\n\n const request = {\n name: client.projectPath(projectId),\n filter,\n };\n const channels = await client.listNotificationChannels(request);\n console.log(channels);\n for (const channel of channels[0]) {\n console.log(`Deleting channel ${channel.displayName}`);\n try {\n await client.deleteNotificationChannel({\n name: channel.name,\n });\n } catch (err) {\n // ignore error\n }\n }\n }\n deleteChannels();\n\n### PHP\n\n\nTo authenticate to Monitoring, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n use Google\\Cloud\\Monitoring\\V3\\Client\\NotificationChannelServiceClient;\n use Google\\Cloud\\Monitoring\\V3\\ListNotificationChannelsRequest;\n\n /**\n * @param string $projectId Your project ID\n */\n function alert_list_channels($projectId)\n {\n $projectName = 'projects/' . $projectId;\n $channelClient = new NotificationChannelServiceClient([\n 'projectId' =\u003e $projectId,\n ]);\n $listNotificationChannelsRequest = (new ListNotificationChannelsRequest())\n -\u003esetName($projectName);\n\n $channels = $channelClient-\u003elistNotificationChannels($listNotificationChannelsRequest);\n foreach ($channels-\u003eiterateAllElements() as $channel) {\n printf('Name: %s (%s)' . PHP_EOL, $channel-\u003egetDisplayName(), $channel-\u003egetName());\n }\n }\n\n### Python\n\n\nTo authenticate to Monitoring, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n def list_notification_channels(project_name):\n \"\"\"List alert notification channels in a project.\n\n Arguments:\n project_name (str): The Google Cloud Project to use. The project name\n must be in the format - 'projects/\u003cPROJECT_NAME\u003e'.\n \"\"\"\n\n client = monitoring_v3.NotificationChannelServiceClient()\n channels = client.list_notification_channels(name=project_name)\n print(\n tabulate.tabulate(\n [(channel.name, channel.display_name) for channel in channels],\n (\"name\", \"display_name\"),\n )\n )\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=monitoring)."]]