演示如何删除通知渠道。
包含此代码示例的文档页面
如需查看上下文中使用的代码示例,请参阅以下文档:
代码示例
C#
using Google.Cloud.Monitoring.V3;
using System;
partial class AlertSnippets
{
public void DeleteNotificationChannel(
string channelName = "projects/your-project-id/notificationChannels/123")
{
var client = NotificationChannelServiceClient.Create();
client.DeleteNotificationChannel(
name: NotificationChannelName.Parse(channelName),
force: true);
Console.WriteLine("Deleted {0}.", channelName);
}
}
Go
import (
"context"
"fmt"
"io"
monitoring "cloud.google.com/go/monitoring/apiv3"
monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3"
)
// deleteChannel deletes the given channel. channelName should be of the form
// "projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]".
func deleteChannel(w io.Writer, channelName string) error {
ctx := context.Background()
client, err := monitoring.NewNotificationChannelClient(ctx)
if err != nil {
return err
}
req := &monitoringpb.DeleteNotificationChannelRequest{
Name: channelName,
}
if err := client.DeleteNotificationChannel(ctx, req); err != nil {
return fmt.Errorf("DeleteNotificationChannel: %v", err)
}
fmt.Fprintf(w, "Deleted channel %q", channelName)
return nil
}
Java
static void deleteNotificationChannel(String channelName) throws IOException {
String projectId = System.getProperty("projectId");
try (NotificationChannelServiceClient client = NotificationChannelServiceClient.create()) {
NotificationChannelName name = NotificationChannelName.of(projectId, channelName);
client.deleteNotificationChannel(channelName, false);
System.out.println("Deleted notification channel " + channelName);
}
}
Node.js
// Imports the Google Cloud client library
const monitoring = require('@google-cloud/monitoring');
// Creates a client
const client = new monitoring.NotificationChannelServiceClient();
/**
* 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
}
}
PHP
use Google\Cloud\Monitoring\V3\NotificationChannelServiceClient;
/**
* @param string $projectId Your project ID
*/
function alert_delete_channel($projectId, $channelId)
{
$channelClient = new NotificationChannelServiceClient([
'projectId' => $projectId,
]);
$channelName = $channelClient->notificationChannelName($projectId, $channelId);
$channelClient->deleteNotificationChannel($channelName);
printf('Deleted notification channel %s' . PHP_EOL, $channelName);
}
Python
def delete_notification_channels(project_name, channel_ids, force=None):
channel_client = monitoring_v3.NotificationChannelServiceClient()
for channel_id in channel_ids:
channel_name = "{}/notificationChannels/{}".format(project_name, channel_id)
try:
channel_client.delete_notification_channel(name=channel_name, force=force)
print("Channel {} deleted".format(channel_name))
except ValueError:
print("The parameters are invalid")
except Exception as e:
print("API call failed: {}".format(e))