刪除通知管道
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
示範如何刪除通知管道。
深入探索
如需包含這個程式碼範例的詳細說明文件,請參閱下列內容:
程式碼範例
Node.js
如要驗證 Monitoring,請設定應用程式預設憑證。
詳情請參閱「為本機開發環境設定驗證」。
Python
如要驗證 Monitoring,請設定應用程式預設憑證。
詳情請參閱「為本機開發環境設定驗證」。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。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)."]]