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à.
Procedura dettagliata: configurazione di un bucket per le notifiche (argomento o coda) SNS SQS
Puoi ricevere notifiche Amazon S3 utilizzando Amazon Simple Notification Service (AmazonSNS) o Amazon Simple Queue Service (Amazon). SQS In questa procedura dettagliata, aggiungi una configurazione di notifica al tuo bucket utilizzando un SNS argomento Amazon e una coda Amazon. SQS
Nota
Le code di Amazon Simple Queue Service FIFO (First-In-First-Out) non sono supportate come destinazione di notifica degli eventi di Amazon S3. Per inviare una notifica per un evento Amazon S3 a una SQS FIFO coda Amazon, puoi utilizzare Amazon. EventBridge Per ulteriori informazioni, consulta Attivazione di Amazon EventBridge.
Argomenti
Riepilogo della spiegazione passo per passo
Questa spiegazione passo per passo aiuta a completare le seguenti operazioni:
-
Pubblica eventi del
s3:ObjectCreated:*
tipo in una SQS coda Amazon. -
Pubblica eventi del
s3:ReducedRedundancyLostObject
tipo su un SNS argomento Amazon.
Per informazioni sulla configurazione delle notifiche, consulta Utilizzo di Amazon SQSSNS, Amazon e Lambda.
È possibile eseguire tutte queste fasi utilizzando la console, senza scrivere alcun codice. Inoltre, esempi di codice utilizzati AWS SDKs per Java e. NETvengono inoltre forniti per aiutarti ad aggiungere configurazioni di notifica a livello di codice.
La procedura include le seguenti fasi:
-
Crea una SQS coda Amazon.
Utilizzando la SQS console Amazon, crea una SQS coda. È possibile accedere a qualsiasi messaggio che Amazon S3 invia alla coda in modo programmatico. Tuttavia, per questa procedura guidata, i messaggi di notifica si verificano nella console.
Collega una policy di accesso all'argomento per concedere ad Amazon S3 l'autorizzazione a pubblicare messaggi.
-
Crea un SNS argomento Amazon.
Utilizzando la SNS console Amazon, crea un SNS argomento e iscriviti all'argomento. In questo modo, riceverai tutti gli eventi pubblicati. Si specifica l'e-mail come protocollo di comunicazione. Dopo aver creato un argomento, Amazon SNS invia un'e-mail. È necessario utilizzare il collegamento nell'e-mail per confermare la sottoscrizione all'argomento.
Collega una policy di accesso all'argomento per concedere ad Amazon S3 l'autorizzazione a pubblicare messaggi.
-
Aggiungere una configurazione delle notifiche a un bucket.
Fase 1: Creare una SQS coda Amazon
Segui i passaggi per creare e iscriverti a una coda Amazon Simple Queue Service (AmazonSQS).
-
Utilizzando la SQS console Amazon, crea una coda. Per istruzioni, consulta Getting Started with Amazon SQS nella Amazon Simple Queue Service Developer Guide.
-
Sostituire la policy di accesso allegata alla coda con la policy riportata di seguito.
-
Nella SQS console Amazon, nell'elenco Queues, scegli il nome della coda.
-
Nella scheda Policy di accesso, seleziona Modifica.
-
Sostituire la policy di accesso allegata alla coda. In esso, fornisci il tuo Amazon SQSARN, il nome del bucket di origine e l'ID dell'account proprietario del bucket.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SQS:SendMessage" ], "Resource": "
SQS-queue-ARN
", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1
" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id
" } } } ] } -
Seleziona Salva.
-
-
(Facoltativo) Se la SQS coda Amazon o l'SNSargomento Amazon è la crittografia lato server abilitata con AWS Key Management Service (AWS KMS), aggiungi la seguente policy alla chiave di crittografia simmetrica associata gestita dal cliente.
È necessario aggiungere la politica a una chiave gestita dal cliente perché non è possibile modificare la chiave AWS gestita per Amazon SQS o AmazonSNS.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }
Per ulteriori informazioni sull'utilizzo SSE per Amazon SQS e Amazon SNS con AWS KMS, consulta quanto segue:
-
Gestione delle chiavi nella Guida per sviluppatori di Amazon Simple Notification Service.
-
Gestione delle chiavi nella Guida per sviluppatori di Amazon Simple Queue Service.
-
-
Nota la coda. ARN
La SQS coda che hai creato è un'altra risorsa della tua. Account AWS Ha un Amazon Resource Name univoco (ARN). Ne hai bisogno ARN nella fase successiva. ARNÈ del seguente formato:
arn:aws:sqs:
aws-region
:account-id
:queue-name
Passaggio 2: creare un SNS argomento Amazon
Segui i passaggi per creare e iscriverti a un SNS argomento Amazon.
-
Utilizzando la SNS console Amazon, crea un argomento. Per istruzioni, consulta Creazione di un SNS argomento Amazon nella Guida per gli sviluppatori di Amazon Simple Notification Service.
-
Effettuare la sottoscrizione all'argomento. Per questo esercizio, utilizzare l'e-mail come protocollo di comunicazione. Per istruzioni, consulta Abbonamento a un SNS argomento Amazon nella Guida per gli sviluppatori di Amazon Simple Notification Service.
Si riceverà un'e-mail in cui è richiesto di confermare la sottoscrizione all'argomento. Confermare la sottoscrizione.
-
Sostituire la policy di accesso collegata all'argomento con la policy riportata di seguito. In esso, fornisci l'SNSargomentoARN, il nome del bucket e l'ID dell'account del proprietario del bucket.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "Example SNS topic policy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "
SNS-topic-ARN
", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:
" }, "StringEquals": { "aws:SourceAccount": "amzn-s3-demo-bucket
bucket-owner-account-id
" } } } ] } -
Nota l'argomento. ARN
L'SNSargomento che hai creato è un'altra tua Account AWS risorsa e ha una caratteristica unicaARN. Ne avrai bisogno ARN nella fase successiva. ARNSarà del seguente formato:
arn:aws:sns:
aws-region
:account-id
:topic-name
Fase 3: aggiungere una configurazione delle notifiche al bucket
Puoi abilitare le notifiche bucket utilizzando la console Amazon S3 o a livello di codice utilizzando. AWS SDKs Scegliere una delle opzioni per configurare le notifiche nel bucket. Questa sezione fornisce esempi di codice che utilizzano for Java e AWS SDKs. NET.
Opzione A: abilitare le notifiche in un bucket utilizzando la console
Utilizzando la console di Amazon S3, aggiungi una configurazione di notifica che richiede ad Amazon S3 di:
-
Pubblica gli eventi del tipo All object create events nella tua SQS coda Amazon.
-
Pubblica gli eventi dell'oggetto in RRS formato perduto sul tuo SNS argomento Amazon.
Una volta salvata la configurazione delle notifiche, Amazon S3 pubblica un messaggio di testo che viene inviato tramite e-mail.
Per istruzioni, consulta Attivazione e configurazione delle notifiche di eventi tramite la console di Amazon S3.
Opzione B: abilita le notifiche su un bucket utilizzando il AWS SDKs
Fase 4: eseguire il test della configurazione
Ora puoi testare la configurazione caricando un oggetto nel tuo bucket e verificando la notifica dell'evento nella console Amazon. SQS Per istruzioni, consulta la sezione Ricezione di un messaggio nella sezione "Nozioni di base" della Guida per gli sviluppatori di Amazon Simple Queue Service.