

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à.

# Utilizzo delle code DLQ in Amazon SQS
<a name="examples-sqs-dead-letter-queues"></a>

Amazon SQS fornisce supporto per le code di *lettere morte*. Una coda di lettere morte è una coda a cui altre code possono indirizzare i messaggi che non possono essere elaborati correttamente. Puoi riservare e isolare questi messaggi nella coda DLQ per determinare perché l'elaborazione non è riuscita.

Per creare una coda di lettere morte, è necessario innanzitutto creare una politica di *redrive e quindi impostare la politica* negli attributi della coda.

**Importante**  
Una coda di lettere morte deve essere dello stesso tipo di coda (FIFO o standard) della coda di origine. Inoltre, deve essere creata utilizzando la stessa coda di Account AWS origine Regione AWS .

## Prerequisiti
<a name="codeExamplePrereq"></a>

Prima di iniziare, ti consigliamo di leggere [Guida introduttiva all' AWS SDK per C\+\+ utilizzo](getting-started.md) di. 

Scarica il codice di esempio e crea la soluzione come descritto in[Guida introduttiva agli esempi di codice](getting-started-code-examples.md). 

Per eseguire gli esempi, il profilo utente utilizzato dal codice per effettuare le richieste deve disporre delle autorizzazioni appropriate AWS (per il servizio e l'azione). Per ulteriori informazioni, vedere [Fornitura di AWS credenziali](credentials.md).

## Crea una politica di Redrive
<a name="sqs-dead-letter-queue-create-redrive-policy"></a>

Una politica di redrive è specificata in JSON. Per crearla, è possibile utilizzare la classe di utilità JSON fornita con. AWS SDK per C\+\+

Ecco una funzione di esempio che crea una politica di redrive fornendole l'ARN della coda delle lettere morte e il numero massimo di volte in cui il messaggio può essere ricevuto e non elaborato prima di essere inviato alla coda di lettere morte.

 **Include** 

```
#include <aws/core/Aws.h>
#include <aws/core/utils/json/JsonSerializer.h>
```

 **Codice** 

```
Aws::String MakeRedrivePolicy(const Aws::String &queueArn, int maxReceiveCount) {
    Aws::Utils::Json::JsonValue redrive_arn_entry;
    redrive_arn_entry.AsString(queueArn);

    Aws::Utils::Json::JsonValue max_msg_entry;
    max_msg_entry.AsInteger(maxReceiveCount);

    Aws::Utils::Json::JsonValue policy_map;
    policy_map.WithObject("deadLetterTargetArn", redrive_arn_entry);
    policy_map.WithObject("maxReceiveCount", max_msg_entry);

    return policy_map.View().WriteReadable();
}
```

Guarda l'[esempio completo](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/sqs/dead_letter_queue.cpp).

## Imposta la Redrive Policy nella tua coda di origine
<a name="sqs-dead-letter-queue-set-redrive-policy"></a>

Per completare la configurazione della coda delle lettere morte, chiama la funzione `SetQueueAttributes` member della SQSClient classe con un [SetQueueAttributesRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-sqs/html/class_aws_1_1_s_q_s_1_1_model_1_1_set_queue_attributes_request.html)oggetto per il quale hai impostato l'`RedrivePolicy`attributo con la tua politica di redrive JSON.

 **Include** 

```
#include <aws/sqs/SQSClient.h>
#include <aws/sqs/model/SetQueueAttributesRequest.h>
#include <iostream>
```

 **Codice** 

```
    Aws::SQS::Model::SetQueueAttributesRequest request;
    request.SetQueueUrl(srcQueueUrl);
    request.AddAttributes(
            Aws::SQS::Model::QueueAttributeName::RedrivePolicy,
            redrivePolicy);

    const Aws::SQS::Model::SetQueueAttributesOutcome outcome =
            sqsClient.SetQueueAttributes(request);
    if (outcome.IsSuccess()) {
        std::cout << "Successfully set dead letter queue for queue  " <<
                  srcQueueUrl << " to " << deadLetterQueueARN << std::endl;
    }
    else {
        std::cerr << "Error setting dead letter queue for queue " <<
                  srcQueueUrl << ": " << outcome.GetError().GetMessage() <<
                  std::endl;
    }
```

Guarda l'[esempio completo](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/sqs/dead_letter_queue.cpp).

## Ulteriori informazioni
<a name="more-info"></a>
+  [Utilizzo di Amazon SQS Dead Letter Queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) nella Guida per gli sviluppatori di Amazon Simple Queue Service
+  [SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)nel riferimento all'API di riferimento di Amazon Simple Queue Service