API 호출에 대한 응답으로 Amazon SNS에서 수신한 잘못된 파라미터 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 6월 23일

API 호출에 대한 응답으로 Amazon Simple Notification Service(Amazon SNS)에서 잘못된 파라미터 오류 메시지가 나타납니다.

간략한 설명

다음과 같은 오류가 발생하는 경우:

InvalidParameter - Error message: Invalid parameter: Attributes Reason: Platform credentials are invalid

플랫폼 자격 증명 오류 해결 섹션의 단계를 완료합니다.

다음과 같은 오류가 발생하는 경우:

"message": "Invalid parameter: The MessageGroupId parameter is required for FIFO topics" even if the customer has provided MessageGroupId

FIFO 오류 해결 섹션의 단계를 완료합니다.

다음과 같은 오류가 발생하는 경우:

Couldn't set text messaging attributes.
Error code: InvalidParameter - Error message: Invalid parameter:

텍스트 메시징(SMS) 오류 해결 섹션의 단계를 완료합니다.

다음과 같은 오류가 발생하는 경우:

Couldn't delete subscription.
Error code: InvalidParameter - Error message: Invalid parameter: SubscriptionArn Reason: An ARN must have at least 6 elements, not 1

구독 삭제 오류 해결 섹션의 단계를 완료합니다.

해결 방법

플랫폼 자격 증명 오류 해결

중요: 다음 단계를 완료하기 전에 Apple 개발자 계정에서 제공자 인증서 유형을 확인합니다. 그런 다음 인증서를 다운로드합니다.

1.    Amazon SNS 콘솔을 엽니다.

2.    탐색 창에서 [푸시 알림(Push notifications)]을 선택합니다.

3.    [플랫폼 애플리케이션 생성(Create platform application)]을 선택합니다.

4.    [애플리케이션 이름(Application name)]에 애플리케이션의 이름을 입력합니다.

5.    [푸시 알림 플랫폼(Push notification platform)]에 [Apple iOS/VoIP/Mac]을 선택합니다.

6.    샌드박스 유형의 인증서를 사용하는 경우 [Apple 자격 증명(Apple Credentials)] 섹션에서 [샌드박스 개발에 사용(Used for development in sandbox)] 확인란을 선택합니다.

중요: 샌드박스 및 프로덕션 유형의 인증서를 사용하는 경우에는 이 확인란을 선택하지 않아야 합니다. 그렇지 않으면 오류가 발생합니다.

7.    [푸시 인증서 유형(Push certificate type)]에 인증서 유형을 선택합니다.

8.    [파일 선택(Choose file)]을 선택한 다음 자격 증명을 로드할 인증서를 선택합니다.

9.    [플랫폼 애플리케이션 생성(Create platform application)]을 선택합니다.

FIFO 오류 해결

브라우저에서 JavaScript에 AWS SDK를 사용하고 있는지, Node.js 버전 2.777.0 이상에서 JavaScript용 AWS SDK를 사용하고 있는지 확인합니다.

API 요청에 ID가 제공되더라도 잘못된 MessageGroupId 또는 잘못된 MessageDeduplicationId와 관련된 Amazon SNS FIFO 오류가 표시될 수 있습니다. Amazon SNS FIFO 속성은 최신 SDK 버전에서만 사용할 수 있습니다. 예를 들어 Changelog for AWS SDK for JavaScript를 참조하세요.

텍스트 메시징(SMS) 오류 해결

1.    Amazon SNS 콘솔을 엽니다.

2.    탐색 창에서 [텍스트 메시징(SMS)(Text messaging (SMS))]을 선택합니다.

3.    [텍스트 메시지 기본 설정(Text messaging preferences)]에 [편집(Edit)]을 선택합니다.

4.    [계정 지출 한도 - 선택적 파라미터(Account spend limit - Optional Parameter)]에 숫자 값 1을 입력합니다. 이 기본값은 월별 지출 한도(USD)입니다. 계정 월별 지출 한도가 $1보다 크려면 계정 지출 한도 증가를 요청할 수 있습니다.

참고: 기본적으로 모든 Amazon SNS 계정에는 모든 AWS 리전에서 지출 할당량이 $1입니다. 값이 1보다 크면 Amazon SNS 콘솔에서 오류가 표시됩니다.

5.    [변경 사항 저장(Save changes)]을 선택합니다.

구독 삭제 오류 해결

PendingConfirmation 상태인 구독을 제거하려고 하면 이 오류가 표시됩니다. 구독을 제거하려면 Amazon SNS Unsubscribe API가 호출되며, 이 API에는 SubscriptionARN이 필요합니다. 콘솔을 사용하여 구독을 삭제하면 Amazon SNS 콘솔에서 선택한 구독에서 SubscriptionARN이 자동으로 선택됩니다. PendingSubscription 상태의 구독의 경우 콘솔에 SubscriptionId가 표시되지 않습니다. 따라서 콘솔은 PendingConfirmationSubscriptionId로 사용합니다. 그런 다음 API 호출이 실패하고 오류를 반환합니다.

확인 대기 중 상태의 구독의 경우:

1.    Amazon SNS 콘솔을 엽니다.

2.    탐색 창에서 [주제(Topics)]를 선택하고 주제를 선택합니다.

3.    구독이 확인 대기 중 상태인 주제를 선택한 다음 확인 대기 중 상태에서 구독을 선택합니다.

4.    그런 다음 [확인 요청(Request confirmation)]을 선택합니다.

구독을 확인하기 위해 엔드포인트로 구독 알림이 전송됩니다.

5.    알림에서 구독 URL을 복사합니다. URL은 다음과 유사합니다.

https://sns.us-east-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:your-aws-region:your-account-number:your-topic-name&Token=your-token&Endpoint=your-endpoint

6.    Amazon SNS의 탐색 메뉴에서 [구독(Subscriptions)]을 선택한 다음 구독을 선택합니다.

7.    [구독 확인(Confirm subscription)]을 선택합니다.

8.    5단계의 구독 URL을 대화 상자에 붙여넣은 다음 [구독 확인(Confirm subscription)]을 선택합니다.

9.    구독을 선택한 다음 [삭제(Delete)]를 선택합니다.

삭제됨 상태의 구독의 경우:

구독 취소 링크가 선택된 엔드포인트를 확인합니다. 구독이 취소되면 엔드포인트는 다음과 유사한 다른 알림을 수신합니다.

Your subscription to the topic below has been deactivated:
arn:aws:sns:Your-AWS-Region:Your-Account-Number:Your-Topic-Name

If this was in error or you wish to resubscribe, click or visit the link below:
Resubscribe

Please click on the resubscribe link present in the notification. This will confirm the subscription. On success, please select the specific subscription and click on Delete button.

-또는-

구독이 제거될 때까지 3일 정도 기다립니다. 기본적으로 Amazon SNS는 3일 이내에 PendingConfirmation으로 구독을 자동으로 제거합니다. 


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?