如何解決我在 Amazon SNS 中收到回應 API 呼叫的無效參數錯誤?

2 分的閱讀內容
0

我在 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 會在三天內自動移除待確認狀態的訂閱。

AWS 官方
AWS 官方已更新 3 年前