

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

# Amazon SQS API 오류 문제 해결
<a name="troubleshooting-api-errors"></a>

다음 주제에서는 Amazon SQS API 직접 호출 시 반환되는 가장 일반적인 오류와 문제를 해결하는 방법을 다룹니다.

## QueueDoesNotExist 오류
<a name="queuedoesnotexist-error"></a>

이 오류는 Amazon SQS 서비스가 Amazon SQS 작업에 대해 언급된 대기열을 찾을 수 없을 때 반환됩니다.

**가능한 원인 및 완화 조치:**
+ **잘못된 리전:** Amazon SQS 클라이언트 구성을 검토하여 클라이언트에서 올바른 리전을 구성했는지 확인합니다. 클라이언트에서 리전을 구성하지 않으면 SDK 또는 AWS CLI가 [구성 파일](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) 또는 환경 변수에서 리전을 선택합니다. SDK가 구성 파일에서 리전을 찾지 못하면 SDK는 기본적으로 리전을 us-east-1로 설정합니다.
+ **대기열이 최근에 삭제되었을 수 있음:** API 직접 호출이 이루어지기 전에 대기열이 삭제된 경우 API 직접 호출이 이 오류를 반환합니다. 오류가 발생하기 전에 CloudTrail에서 [DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html) 작업을 확인합니다.
+ **권한 문제:** 요청하는 AWS Identity and Access Management(IAM) 사용자 또는 역할에 필요한 권한이 없는 경우 다음 오류가 발생할 수 있습니다.

  ```
  The specified queue does not exist or you do not have access to it.
  ```

  권한을 확인하고 올바른 권한으로 API를 직접 호출합니다.

`QueueDoesNotExist` 오류 문제 해결에 대한 자세한 내용은 *AWS 지식 센터 안내서*의 [Amazon SQS 대기열에 대한 API 직접 호출 시 QueueDoesNotExist 오류를 해결하려면 어떻게 해야 하나요?](https://repost.aws/knowledge-center/sqs-queuedoesnotexist-errors)를 참조하세요.

## InvalidAttributeValue 오류
<a name="invalidattributevalue-error"></a>

이 오류는 Amazon SQS 대기열 리소스 정책 또는 정책이나 보안 주체가 잘못된 속성을 업데이트하면 반환됩니다.

**가능한 원인 및 완화 조치:**
+ **잘못된 리소스 정책:** 리소스 정책에 모든 필수 필드가 있는지 확인합니다. 자세한 내용은 [IAM JSON 정책 요소 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) 및 [IAM 정책 검증](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)을 참조하세요. [IAM 정책 생성기](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html)를 사용하여 Amazon SQS 리소스 정책을 생성하고 테스트할 수도 있습니다. 정책이 JSON 형식인지 확인합니다.
+ **잘못된 보안 주체:** `Principal` 요소가 리소스 정책에 존재하고 값이 유효한지 확인합니다. Amazon SQS 리소스 정책 `Principal` 요소에 IAM 엔터티가 포함된 경우 정책을 사용하기 전에 엔터티가 존재하는지 확인합니다. Amazon SQS는 리소스 정책을 검증하고 IAM 엔터티를 확인합니다. IAM 엔터티가 없으면 오류가 발생합니다. IAM 엔터티를 확인하려면 [`GetRole`](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 및 [`GetUser`](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html) API를 사용합니다.

`InvalidAttributeValue` 오류 해결 방법에 대한 자세한 내용은 *AWS 지식 센터 안내서*의 [Amazon SQS 대기열에 대한 API 직접 호출 시 QueueDoesNotExist 오류를 해결하려면 어떻게 해야 하나요?](https://repost.aws/knowledge-center/sqs-invalid-parameter-policy)를 참조하세요.

## ReceiptHandle 오류
<a name="receipthandle-error"></a>

[`DeleteMessage`](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html) API를 직접 호출하면 수신 핸들이 잘못되었거나 만료된 경우 `ReceiptHandleIsInvalid` 또는 `InvalidParameterValue` 오류가 반환될 수 있습니다.
+ **ReceiptHandleIsInvalid 오류:** 수신 핸들이 잘못된 경우 이 예와 유사한 오류가 발생합니다.

  ```
  An error occurred (ReceiptHandleIsInvalid) when calling the DeleteMessage operation: The input receipt handle <YOUR RECEIPT HANDLE> is not a valid receipt handle.
  ```
+ **InvalidParameterValue 오류:** 수신 핸들이 만료되면 이 예와 유사한 오류가 발생합니다.

  ```
  An error occurred (InvalidParameterValue) when calling the DeleteMessage operation: Value <YOUR RECEIPT HANDLE> for parameter ReceiptHandle is invalid. Reason: The receipt handle has expired.
  ```

**가능한 원인 및 완화 조치:**

수신 핸들은 수신된 모든 메시지에 대해 생성되며 표시 제한 시간에만 유효합니다. 표시 제한 시간이 만료되면 메시지가 소비자 대기열에 표시됩니다. 소비자로부터 메시지를 다시 받으면 새 수신 핸들이 수신됩니다. 잘못되거나 만료된 수신 핸들 오류를 방지하려면 올바른 수신 핸들을 사용하여 Amazon SQS 대기열 표시 제한 시간 내에 메시지를 삭제합니다.

`ReceiptHandle` 오류 해결 방법에 대한 자세한 내용은 *AWS 지식 센터 안내서*의 [Amazon SQS DeleteMessage API 직접 호출을 사용할 때 'ReceiptHandleIsInvalid' 및 'InvalidParameterValue' 오류를 해결하려면 어떻게 해야 하나요?](https://repost.aws/knowledge-center/sqs-receipt-handle-error)를 참조하세요.