删除通知渠道
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
演示如何删除通知渠道。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
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,["# Delete a notification channel\n\nDemonstrates how to delete a notification channel.\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\n using https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Monitoring.V3/latest/Google.Cloud.Monitoring.V3.html;\n using System;\n\n partial class AlertSnippets\n {\n public void DeleteNotificationChannel(\n string channelName = \"projects/your-project-id/notificationChannels/123\")\n {\n var client = https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Monitoring.V3/latest/Google.Cloud.Monitoring.V3.NotificationChannelServiceClient.html.https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Monitoring.V3/latest/Google.Cloud.Monitoring.V3.NotificationChannelServiceClient.html#Google_Cloud_Monitoring_V3_NotificationChannelServiceClient_Create();\n client.DeleteNotificationChannel(\n name: https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Monitoring.V3/latest/Google.Cloud.Monitoring.V3.NotificationChannelName.html.https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Monitoring.V3/latest/Google.Cloud.Monitoring.V3.NotificationChannelName.html#Google_Cloud_Monitoring_V3_NotificationChannelName_Parse_System_String_(channelName),\n force: true);\n Console.WriteLine(\"Deleted {0}.\", channelName);\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\n import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \tmonitoring \"cloud.google.com/go/monitoring/apiv3\"\n \t\"cloud.google.com/go/monitoring/apiv3/v2/monitoringpb\"\n )\n\n // deleteChannel deletes the given channel. channelName should be of the form\n // \"projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]\".\n func deleteChannel(w io.Writer, channelName string) error {\n \tctx := context.Background()\n\n \tclient, err := monitoring.NewNotificationChannelClient(ctx)\n \tif err != nil {\n \t\treturn err\n \t}\n \tdefer client.Close()\n\n \treq := &monitoringpb.DeleteNotificationChannelRequest{\n \t\tName: channelName,\n \t}\n\n \tif err := client.DeleteNotificationChannel(ctx, req); err != nil {\n \t\treturn fmt.Errorf(\"DeleteNotificationChannel: %w\", err)\n \t}\n\n \tfmt.Fprintf(w, \"Deleted channel %q\", channelName)\n \treturn nil\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 static void deleteNotificationChannel(String channelName) throws IOException {\n String projectId = System.getProperty(\"projectId\");\n try (NotificationChannelServiceClient client = NotificationChannelServiceClient.create()) {\n NotificationChannelName name = NotificationChannelName.of(projectId, channelName);\n client.deleteNotificationChannel(channelName, false);\n System.out.println(\"Deleted notification channel \" + channelName);\n }\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\\DeleteNotificationChannelRequest;\n\n /**\n * @param string $projectId Your project ID\n * @param string $channelId\n */\n function alert_delete_channel(string $projectId, string $channelId): void\n {\n $channelClient = new NotificationChannelServiceClient([\n 'projectId' =\u003e $projectId,\n ]);\n $channelName = $channelClient-\u003enotificationChannelName($projectId, $channelId);\n $deleteNotificationChannelRequest = (new DeleteNotificationChannelRequest())\n -\u003esetName($channelName);\n\n $channelClient-\u003edeleteNotificationChannel($deleteNotificationChannelRequest);\n printf('Deleted notification channel %s' . PHP_EOL, $channelName);\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 delete_notification_channels(project_name, channel_ids, force=None):\n \"\"\"Delete alert notification channels.\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 channel_ids list(str): List of IDs of notification channels to delete.\n force (bool): If true, the notification channels are deleted regardless\n of its in use by alert policies. If false, channels that are still\n referenced by an existing alerting policy will fail to be deleted.\n \"\"\"\n\n channel_client = monitoring_v3.NotificationChannelServiceClient()\n for channel_id in channel_ids:\n channel_name = \"{}/notificationChannels/{}\".format(project_name, channel_id)\n try:\n channel_client.delete_notification_channel(name=channel_name, force=force)\n print(\"Channel {} deleted\".format(channel_name))\n except ValueError:\n print(\"The parameters are invalid\")\n except Exception as e:\n print(\"API call failed: {}\".format(e))\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)."]]