Como usar filas de mensagens não entregues no Amazon SQS com o AWS SDK for PHP versão 3 - AWS SDK for PHP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar filas de mensagens não entregues no Amazon SQS com o AWS SDK for PHP versão 3

Uma dead letter queue é a fila para a qual outras filas (de origem) podem direcionar mensagens que não podem ser processadas com êxito. Você pode separar e isolar essas mensagens na dead letter queue para determinar por que o processamento não obteve sucesso. Você deve configurar individualmente cada fila de origem que envia mensagens para uma dead letter queue. Várias filas podem visar uma única dead letter queue.

Para saber mais, consulte Uso das dead letter queues do SQS.

O exemplo a seguir mostra como:

Todo o código de exemplo para o AWS SDK for PHP está disponível aqui em GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Credenciais. Em seguida, importe o AWS SDK for PHP, conforme descrito em Uso básico.

Habilitar uma fila de mensagens não entregues

Importações

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;

Código de exemplo

$queueUrl = "QUEUE_URL"; $client = new SqsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2012-11-05' ]); try { $result = $client->setQueueAttributes([ 'Attributes' => [ 'RedrivePolicy' => "{\"deadLetterTargetArn\":\"DEAD_LETTER_QUEUE_ARN\",\"maxReceiveCount\":\"10\"}" ], 'QueueUrl' => $queueUrl // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }