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á.
Usar filas de mensagens não entregues no Amazon SQS com o AWS SDK para 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:
-
Habilite uma dead letter queue com o SetQueueAttributes.
O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub
Credenciais
Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticando com o AWS uso da AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalar o AWS SDK para PHP versão 3.
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()); }