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à.
Spiegazione passo per passo: configurare un bucket per le notifiche (argomento SNS o coda SQS)
Puoi ricevere notifiche Amazon S3 utilizzando Amazon Simple Notification Service (Amazon SNS) o Amazon Simple Queue Service (Amazon SQS). Nella spiegazione passo per passo seguente viene aggiunta una configurazione di notifica al bucket utilizzando un argomento Amazon SNS e una coda Amazon SQS.
Nota
Le code FIFO (First-In-First-Out) di Amazon Simple Queue Service non sono supportate come destinazione delle notifiche degli eventi di Amazon S3. Per inviare una notifica per un evento Amazon S3 a una coda FIFO di Amazon SQS, 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:
-
Pubblicare eventi di tipo
s3:ObjectCreated:*
in una coda Amazon SQS. -
Pubblicare eventi di tipo
s3:ReducedRedundancyLostObject
in un argomento Amazon SNS.
Per informazioni sulla configurazione delle notifiche, consulta Utilizzo di Amazon SQS, Amazon SNS e Lambda.
È possibile eseguire tutte queste fasi utilizzando la console, senza scrivere alcun codice. Inoltre, vengono forniti anche esempi di codice utilizzati AWS SDKs per Java e.NET per aiutarti ad aggiungere configurazioni di notifica a livello di codice.
La procedura include le seguenti fasi:
-
Creare una coda Amazon SQS.
Attraverso la console di Amazon SQS, crea una coda SQS. È 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.
-
Creare un argomento Amazon SNS.
Utilizzando la console di Amazon SNS, crea un argomento SNS 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 coda Amazon SQS
Segui le fasi per creare una coda Amazon Simple Queue Service (Amazon SQS) ed effettuarvi la sottoscrizione.
-
Utilizzando la console di Amazon SQS, creare una coda. Per istruzioni, consulta la sezione Nozioni di base su Amazon SQS nella Guida per gli sviluppatori di Amazon Simple Queue Service.
-
Sostituire la policy di accesso allegata alla coda con la policy riportata di seguito.
-
Nella console di Amazon SQS, nell'elenco Code, seleziona il nome della coda.
-
Nella scheda Policy di accesso, seleziona Modifica.
-
Sostituire la policy di accesso allegata alla coda. Fornisci l'ARN di Amazon SQS, il nome del bucket di origine e l'ID dell'account del 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 coda Amazon SQS o l'argomento Amazon SNS è 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.
Devi aggiungere la policy a una chiave gestita dal cliente perché non è possibile modificare la chiave gestita da AWS per Amazon SQS o Amazon SNS.
{ "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 di SSE per Amazon SQS e Amazon SNS AWS KMS con, 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.
-
-
Prendere nota dell'ARN della coda.
La coda SQS creata è un'altra risorsa nel tuo Account AWS. Dispone di un Amazon Resource Name (ARN) univoco. Il presente ARN è necessario nella fase successiva. Il nome ARN presenta il formato seguente:
arn:aws:sqs:
aws-region
:account-id
:queue-name
Fase 2: creare un argomento Amazon SNS
Completa la procedura per creare e sottoscrivere un argomento Amazon SNS.
-
Utilizzando la console di Amazon SNS, crea un argomento. Per le istruzioni, consulta la sezione Creazione di un argomento Amazon SNS 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 le istruzioni, consulta la sezione Sottoscrizione a un argomento di Amazon SNS 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. Fornisci l'ARN dell'argomento SNS, 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
" } } } ] } -
Prendere nota dell'ARN dell'argomento.
L'argomento SNS che hai creato è un'altra tua Account AWS risorsa e ha un ARN unico. L'ARN è necessario nella fase successiva. L'ARN ha il formato seguente:
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 AWS SDKs for Java e.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:
-
Pubblicare gli eventi di tipo Tutti gli eventi di creazione dell'oggetto nella coda Amazon SQS.
-
Pubblica gli eventi di tipo Oggetto perso in RRS sul tuo argomento Amazon SNS.
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 AWS SDKs
Fase 4: eseguire il test della configurazione
Ora è possibile testare la configurazione caricando un oggetto nel bucket e verificando la notifica di eventi nella console di 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.