API 호출 시 Amazon Simple Notification Service(Amazon SNS)에서 잘못된 파라미터 오류 메시지를 받았습니다.
해결 방법
플랫폼 자격 증명 오류
"InvalidParameter - Error message: Invalid parameter: Attributes Reason: Platform credentials are invalid"
전제 조건: Apple Developer 계정에서 제공업체 인증서 유형을 확인하고 인증서를 다운로드합니다.
플랫폼 자격 증명 오류를 해결하려면 다음 단계를 완료하십시오.
- Amazon SNS 콘솔을 엽니다.
- 탐색 창에서 **Push notifications(푸시 알림)**를 선택합니다.
- **Create platform application(플랫폼 애플리케이션 생성)**을 선택합니다.
- **Application name(애플리케이션 이름)**에 애플리케이션 이름을 입력합니다.
- **Push notification platform(푸시 알림 플랫폼)**에 대해 Apple iOS/VoIP/Mac을 선택합니다.
- Sandbox(샌드박스) 인증서 유형에 대해서만 Apple Credentials(Apple 자격 증명) 섹션에서 **Used for development in sandbox(샌드박스 개발에 사용)**를 선택합니다.
중요: Sandbox & Production(샌드박스 및 프로덕션) 인증서 유형을 사용하는 경우 **Used for development in sandbox(샌드박스 개발에 사용)**를 선택하지 마십시오. 선택하면 오류가 발생합니다.
- **Push certificate type(인증서 유형 푸시)**에서 인증서 유형을 선택합니다.
- **Choose file(파일 선택)**을 선택한 다음, 자격 증명을 로드할 인증서를 선택합니다.
- **Create platform application(플랫폼 애플리케이션 생성)**을 선택합니다.
FIFO 오류
"message: Invalid parameter: The MessageGroupId parameter is required for FIFO topics"
MessageID를 제공한 경우에도 위 오류가 표시될 수 있습니다. AWS SDK for JavaScript in the browser를 사용하거나 버전 2.777.0 이상의 AWS SDK for JavaScript in Node.js를 사용하고 있는지 확인하십시오.
API 요청에서 ID를 제공했는데도 잘못된 MessageGroupId 또는 MessageDeduplicationId로 인해 Amazon SNS FIFO 오류가 발생할 수 있습니다. Amazon SNS FIFO 속성은 최신 SDK 버전에서만 사용할 수 있습니다. 자세한 내용을 알아보려면 GitHub 웹사이트에서 AWS SDK for JavaScript 변경 로그를 참조하십시오.
문자 메시지(SMS) 오류
"Couldn't set text messaging attributes. Error code: InvalidParameter - Error message: Invalid parameter:"
문자 메시지 오류를 해결하려면 다음 단계를 완료하십시오.
- Amazon SNS 콘솔을 엽니다.
- 탐색 창에서 **Text messaging (SMS)(문자 메시지(SMS))**을 선택합니다.
- **Text messaging preferences(문자 메시지 환경설정)**에서 **Edit(편집)**를 선택합니다.
- **Account spend limit - Optional Parameter(계정 지출 한도 - 선택적 파라미터)**에 숫자 값 1을 입력합니다.
참고: 기본적으로 모든 Amazon SNS 계정에는 모든 AWS 리전의 월간 지출 할당량이 1 USD입니다. 기본값을 초과하면 오류가 발생합니다. 계정의 월간 지출 할당량을 늘리려면 계정 지출 할당량 증가를 요청하십시오.
- **Save changes(변경 사항 저장)**를 선택합니다.
대상 국가에 전용 긴 코드, 단축 코드 또는 SenderID가 필요한 경우 등록 후 코드를 사용하십시오. 자세한 내용은 AWS End User Messaging SMS를 사용한 SMS 메시징 지원 국가 및 리전을 참조하십시오.
참고: 등록된 발신 ID 또는 발신자 ID는 국가별로 다릅니다. 다른 국가에서 발신 번호 또는 발신자 ID를 사용하려면 각 추가 대상 국가에 대해 발신 번호 또는 발신자 ID를 별도로 등록해야 합니다. 자세한 내용은 AWS End User Messaging SMS의 전화번호 또는 발신자 ID 선택을 참조하십시오.
구독 삭제 오류
"Couldn't delete subscription.Error code: InvalidParameter - Error message: Invalid parameter: SubscriptionArn Reason: An ARN must have at least 6 elements, not 1"
PendingConfirmation 상태
PendingConfirmation 상태인 구독을 제거하려고 하면 이 오류가 발생할 수 있습니다. Unsubscribe API를 사용하여 구독을 삭제하는 경우 API 호출에 SubscriptionARN이 필요합니다. Amazon SNS 콘솔을 사용하여 구독을 삭제하면 Amazon SNS에서 자동으로 SubscriptionARN을 선택합니다.
PendingSubscription 상태인 구독의 경우 콘솔에 SubscriptionId가 표시되지 않습니다. 따라서 콘솔은 PendingConfirmation을 SubscriptionId로 사용합니다. 그러면 API 호출이 실패하고 오류가 반환됩니다.
PendingConfirmation 상태인 구독을 해결하려면 다음 단계를 완료하십시오.
-
Amazon SNS 콘솔을 엽니다.
-
탐색 창에서 **Topics(주제)**를 선택한 후 원하는 주제를 선택합니다.
-
PendingConfirmation 상태인 구독을 포함한 주제와 PendingConfirmation 상태인 구독을 선택합니다.
-
**Request confirmation(확인 요청)**을 선택합니다. 구독을 확인하기 위해 구독 알림이 엔드포인트로 전송됩니다. 알림에는 다음 예제와 비슷한 링크가 포함됩니다.
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
-
탐색 창에서 **Subscriptions(구독)**를 선택한 다음 구독을 선택합니다.
-
**Confirm subscription(구독 확인)**을 선택합니다.
-
구독 알림의 구독 URL을 대화 상자에 입력한 다음 **Confirm subscription(구독 확인)**을 선택합니다.
-
구독을 선택한 후 **Delete(삭제)**를 선택합니다.
또는 Amazon SNS에서 PendingConfirmation 상태인 구독을 제거할 때까지의 기본 기간인 3일 동안 기다리십시오.
Deleted 상태
Deleted 상태인 구독의 경우 오류가 발생할 수 있습니다.
구독 취소 링크를 선택한 엔드포인트를 확인합니다. 구독을 취소하면 엔드포인트는 다음과 비슷한 다른 알림을 받습니다.
"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."