

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

# AWS SDK for PHP 버전 3을 사용하여 Amazon SQS 버전 3에서 DLQ(Dead Letter Queue) 사용
<a name="sqs-examples-dead-letter-queues"></a>

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

자세한 내용은 [SQS DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html)을 참조하세요.

다음 예에서는 작업 방법을 보여줍니다.
+ [SetQueueAttributes](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sqs-2012-11-05.html#setqueueattributes)를 사용하여 DLQ(Dead Letter Queue)를 활성화합니다.

AWS SDK for PHP에 대한 모든 예제 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)에서 사용할 수 있습니다.

## 보안 인증 정보
<a name="examplecredentials"></a>

예제 코드를 실행하기 전에 [AWS SDK for PHP 버전 3을 AWS 사용하여 로 인증](credentials.md)에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 [AWS SDK for PHP 버전 3 설치](getting-started_installation.md)에 설명된 AWS SDK for PHP를 가져옵니다.

## DLQ(Dead Letter Queue) 활성화
<a name="enable-a-dead-letter-queue"></a>

 **가져옵니다**.

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