Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzare PutBucketNotificationConfiguration
con un AWS SDKo CLI
I seguenti esempi di codice mostrano come utilizzarePutBucketNotificationConfiguration
.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nei seguenti esempi di codice:
- .NET
-
- AWS SDK for .NET
-
C'è di più su. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository di esempi di codice.
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Amazon.S3;
using Amazon.S3.Model;
/// <summary>
/// This example shows how to enable notifications for an Amazon Simple
/// Storage Service (Amazon S3) bucket.
/// </summary>
public class EnableNotifications
{
public static async Task Main()
{
const string bucketName = "amzn-s3-demo-bucket1";
const string snsTopic = "arn:aws:sns:us-east-2:0123456789ab:bucket-notify";
const string sqsQueue = "arn:aws:sqs:us-east-2:0123456789ab:Example_Queue";
IAmazonS3 client = new AmazonS3Client(Amazon.RegionEndpoint.USEast2);
await EnableNotificationAsync(client, bucketName, snsTopic, sqsQueue);
}
/// <summary>
/// This method makes the call to the PutBucketNotificationAsync method.
/// </summary>
/// <param name="client">An initialized Amazon S3 client used to call
/// the PutBucketNotificationAsync method.</param>
/// <param name="bucketName">The name of the bucket for which
/// notifications will be turned on.</param>
/// <param name="snsTopic">The ARN for the Amazon Simple Notification
/// Service (Amazon SNS) topic associated with the S3 bucket.</param>
/// <param name="sqsQueue">The ARN of the Amazon Simple Queue Service
/// (Amazon SQS) queue to which notifications will be pushed.</param>
public static async Task EnableNotificationAsync(
IAmazonS3 client,
string bucketName,
string snsTopic,
string sqsQueue)
{
try
{
// The bucket for which we are setting up notifications.
var request = new PutBucketNotificationRequest()
{
BucketName = bucketName,
};
// Defines the topic to use when sending a notification.
var topicConfig = new TopicConfiguration()
{
Events = new List<EventType> { EventType.ObjectCreatedCopy },
Topic = snsTopic,
};
request.TopicConfigurations = new List<TopicConfiguration>
{
topicConfig,
};
request.QueueConfigurations = new List<QueueConfiguration>
{
new QueueConfiguration()
{
Events = new List<EventType> { EventType.ObjectCreatedPut },
Queue = sqsQueue,
},
};
// Now apply the notification settings to the bucket.
PutBucketNotificationResponse response = await client.PutBucketNotificationAsync(request);
}
catch (AmazonS3Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
- CLI
-
- AWS CLI
-
Per abilitare le notifiche specificate in un bucket
L'put-bucket-notification-configuration
esempio seguente applica una configurazione di notifica a un bucket denominato. my-bucket
Il file notification.json
è un JSON documento nella cartella corrente che specifica un SNS argomento e un tipo di evento da monitorare.
aws s3api put-bucket-notification-configuration \
--bucket my-bucket
\
--notification-configuration file://notification.json
Contenuto di notification.json
.
{
"TopicConfigurations": [
{
"TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic",
"Events": [
"s3:ObjectCreated:*"
]
}
]
}
All'SNSargomento deve essere associata una IAM policy che consenta ad Amazon S3 di pubblicare su di esso.
{
"Version": "2008-10-17",
"Id": "example-ID",
"Statement": [
{
"Sid": "example-statement-ID",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": [
"SNS:Publish"
],
"Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic",
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:s3:*:*:my-bucket"
}
}
}
]
}
Per un elenco completo di AWS SDKguide per sviluppatori ed esempi di codice, vediUtilizzo di questo servizio con un SDK AWS. Questo argomento include anche informazioni su come iniziare e dettagli sulle SDK versioni precedenti.