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à.
Configurazione di una coda Amazon SNS dead-letter per un abbonamento
Una coda di lettere morte è una coda Amazon a SQS cui un SNS abbonamento Amazon può indirizzare per i messaggi che non possono essere recapitati correttamente agli abbonati. I messaggi che non possono essere recapitati a causa di errori client o errori server vengono mantenuti nella coda DLQ per ulteriori analisi o elaborazione. Per ulteriori informazioni, consulta Code di lettere non SNS ricevute su Amazon e Tentativi di recapito dei SNS messaggi Amazon.
Questa pagina mostra come utilizzare AWS Management Console, an, the AWS SDK AWS CLI, e AWS CloudFormation per configurare una coda di lettere non scritte per un abbonamento Amazon. SNS
Nota
Per un FIFOargomento, puoi utilizzare una SQS coda Amazon come coda di lettere non scritte per l'abbonamento Amazon. SNS FIFOle sottoscrizioni agli argomenti utilizzano le FIFO code e le sottoscrizioni agli argomenti standard utilizzano le code standard.
Prerequisiti
Prima di configurare una coda DLQ, completare i seguenti prerequisiti:
-
Crea un SNS argomento Amazon denominato
MyTopic
. -
Crea una SQS coda Amazon denominata
MyEndpoint
, da utilizzare come endpoint per l'abbonamento AmazonSNS. -
(Salta per AWS CloudFormation) Iscriviti alla coda per accedere all'argomento.
-
Crea un'altra SQS coda Amazon denominata
MyDeadLetterQueue
, da utilizzare come coda di lettere non scritte per l'abbonamento Amazon. SNS -
Per consentire ad Amazon l'accesso SNS principale all'SQSAPIazione Amazon, imposta la seguente politica di coda per
MyDeadLetterQueue
.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-2:123456789012:MyTopic" } } }] }
Per configurare una coda di lettere non scritte per un abbonamento Amazon utilizzando SNS AWS Management Console
Prima di iniziare questo tutorial, completare i prerequisiti descritti di seguito.
-
Accedi alla SQSconsole Amazon
. -
Crea una SQS coda Amazon o usa una coda esistente e annota la ARN coda nella scheda Dettagli della coda, ad esempio:
arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue
Accedi alla SNSconsole Amazon
. -
Nel riquadro di navigazione, scegli Sottoscrizioni.
-
Sulla pagina Subscriptions (Abbonamenti), selezionare una sottoscrizione esistente, quindi scegliere Edit (Modifica).
-
Nella sezione Modifica
1234a567-bc89-012d-3e45-6fg7h890123i
espandi la sezione Redrive policy (dead-letter queue), quindi procedi come segue:-
Scegli Enabled (Abilitato).
-
Specificare il nome ARN di una SQS coda Amazon.
-
-
Scegli Save changes (Salva modifiche).
La sottoscrizione è configurata per l'utilizzo di una coda dead-letter.
Per configurare una coda di lettere non scritte per un abbonamento Amazon SNS utilizzando un AWS SDK
Prima di eseguire questo esempio, completare i prerequisiti.
Per utilizzare un AWS SDK, devi configurarlo con le tue credenziali. Per ulteriori informazioni, consulta I file di configurazione e credenziali condivisi nella AWS SDKs and Tools Reference Guide.
Il seguente esempio di codice mostra come utilizzare. SetSubscriptionAttributesRedrivePolicy
Per configurare una coda di lettere non scritte per un abbonamento Amazon utilizzando SNS AWS CLI
Prima di iniziare questo tutorial, completare i prerequisiti descritti di seguito.
-
Istalla e configura la AWS CLI. Per ulteriori informazioni, consulta la Guida per l'utente AWS Command Line Interface .
-
Utilizza il seguente comando.
aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-2:123456789012:MyEndpoint:1234a567-bc89-012d-3e45-6fg7h890123i --attribute-name RedrivePolicy --attribute-value "{\"deadLetterTargetArn\": \"arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue\"}"
Per configurare una coda di lettere non scritte per un abbonamento Amazon utilizzando SNS AWS CloudFormation
Prima di iniziare questo tutorial, completare i prerequisiti descritti di seguito.
-
Copia il JSON codice seguente in un file denominato
MyDeadLetterQueue.json
.{ "Resources": { "mySubscription": { "Type" : "AWS::SNS::Subscription", "Properties" : { "Protocol": "sqs", "Endpoint": "arn:aws:sqs:us-east-2:123456789012:MyEndpoint", "TopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "RedrivePolicy": { "deadLetterTargetArn": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue" } } } } }
-
Accedi alla console AWS CloudFormation
. -
Nella pagina Select Template (Seleziona modello) scegliere Upload a template to Amazon S3 (Carica un modello in Amazon S3), selezionare il file
MyDeadLetterQueue.json
, quindi scegliere Next (Avanti). -
Nella pagina Specify Details (Specifica dettagli), digitare
MyDeadLetterQueue
per Stack Name (Nome stack), quindi scegliere Next (Avanti). -
Nella pagina Opzioni, scegli Next (Avanti).
-
Nella pagina Revisione scegli Create (Crea).
AWS CloudFormation inizia a creare lo
MyDeadLetterQueue
stack e visualizza lo stato CREATE_IN_ PROGRESS. Quando il processo è completo, AWS CloudFormation visualizza lo stato _. CREATE COMPLETE