我在 Amazon Simple Notification Service (Amazon SNS) 中收到回應 API 呼叫的無效參數錯誤。
簡短說明
如果您收到下列錯誤:
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. 在導覽窗格中,選擇推播通知。
3. 選擇建立平台應用程式。
4. 針對應用程式名稱,輸入應用程式的名稱。
5. 針對推送通知平台,請選擇 Apple iOS/VoIP/Mac。
6. 如果您使用的是沙盒類型的憑證,請在 Apple 憑證區段中選取用於在沙盒中的開發核取方塊。
重要事項:如果您使用的是沙盒和生產類型的憑證,則不得選取此核取方塊。否則,您會收到錯誤。
7. 針對推送憑證類型,請選取您的憑證類型。
8. 選擇選擇檔案,然後選取要從中載入憑證的憑證。
9. 選擇建立平台應用程式。
解決 FIFO 錯誤
確認您正在瀏覽器中使用適用於 JavaScript 的 AWS SDK,或在版本 2.777.0 或更新版本 Node.js 中使用適用於 JavaScript 的 AWS SDK。
即使 API 請求中提供了 ID,您也可能會收到與無效訊息群組 ID 或無效訊息重複資料刪除 ID 相關的 Amazon SNS FIFO 錯誤。Amazon SNS FIFO 屬性僅適用於較新的 SDK 版本。如需詳細資訊,請參閱適用於 JavaScript 的 AWS SDK 的變更日誌。
解決簡訊 (SMS) 錯誤
1. 開啟 Amazon SNS 主控台。
2. 在導覽窗格中,選擇簡訊 (SMS)。
3. 在簡訊偏好設定中,選擇編輯。
4. 在帳戶支出限制-選用參數中,輸入數值 1。此預設值為月支出限額 (以美元為單位)。如果您希望帳戶的月支出限額大於 1 美元,可以請求提高帳戶支出限額。
**注意:**依預設,每個 Amazon SNS 帳戶在每個 AWS 區域的支出配額為 1 美元。當值大於 1 時,Amazon SNS 主控台會收到錯誤訊息。
5. 選擇儲存變更。
解決訂閱刪除錯誤
當您嘗試移除處於待確認狀態的訂閱時,會收到此錯誤訊息。若要移除訂閱,呼叫 Amazon SNS 取消訂閱 API,而這需要訂閱 ARN。如果您使用主控台刪除訂閱,Amazon SNS 主控台會自動從所選的訂閱中選取訂閱 ARN。對於處於待訂閱狀態的訂閱,主控台不會顯示訂閱 ID。因此,主控台使用待確認作為訂閱 ID。接著,API 呼叫失敗並傳回錯誤。
對於處於待確認狀態的訂閱:
1. 開啟 Amazon SNS 主控台。
2. 在導覽窗格中,選擇主題,然後選擇您的主題。
3. 選取訂閱處於待確認狀態的主題,然後選取處於待確認狀態的訂閱。
4. 選擇請求確認。
系統會將訂閱通知傳送至端點以確認訂閱。
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 的導覽選單上,選擇訂閱,然後選取您的訂閱。
7. 選擇確認訂閱。
8. 將步驟 5 中的訂閱 URL 貼到對話方塊中,然後選擇確認訂閱
9. 選取您的訂閱,然後選擇刪除。
對於處於已刪除狀態的訂閱:
檢查選擇取消訂閱連結的端點。取消訂閱後,端點會收到類似下列內容的另一個通知:
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.
-或者-
等待三天移除訂閱。依預設,Amazon SNS 會在三天內自動移除待確認狀態的訂閱。