AWS SDK for PHP 버전 3을 사용하여 Amazon SQS 버전 3에서 DLQ(Dead Letter Queue) 사용 - AWS SDK for PHP

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for PHP 버전 3을 사용하여 Amazon SQS 버전 3에서 DLQ(Dead Letter Queue) 사용

DLQ(Dead Letter Queue)은 성공적으로 처리하지 못한 메시지를 다른 (소스) 대기열에서 보낼 수 있는 대기열입니다. DLQ(Dead Letter Queue)에서 이 메시지를 구분하고 격리하여 처리에 실패한 이유를 확인할 수 있습니다. DLQ(Dead Letter Queue)로 메시지를 보내는 각 소스 대기열을 개별적으로 구성해야 합니다. 여러 대기열에서 하나의 DLQ(Dead Letter Queue)로 메시지를 보낼 수 있습니다.

자세한 내용은 SQS DLQ(Dead Letter Queue) 사용을 참조하세요.

다음 예에서는 작업 방법을 보여줍니다.

의 모든 예제 코드는 여기에서 확인할 수 있습니다. AWS SDK for PHP GitHub

보안 인증 정보

예제 코드를 실행하기 전에 보안 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 기본 사용법에 설명된 대로 AWS SDK for PHP를 가져옵니다.

DLQ(Dead Letter Queue) 활성화

가져오기

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

샘플 코드

$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()); }