API コールを行うと、Amazon Simple Notification Service (Amazon SNS) で無効なパラメータというエラーメッセージが表示されます。
解決策
プラットフォーム認証情報のエラー
"InvalidParameter - エラーメッセージ: 無効なパラメータ: 属性に関する理由: プラットフォーム認証情報が無効です"
前提条件: Apple Developer アカウントのプロバイダー証明書の種類を確認し、証明書をダウンロードします。
プラットフォーム認証情報エラーを解決するには、次の手順を実行します。
- Amazon SNS コンソールを開きます。
- ナビゲーションペインで [プッシュ通知] を選択します。
- [プラットフォームアプリケーションの作成] を選択します。
- [アプリケーション名] に、アプリケーションの名前を入力します。
- [プッシュ通知プラットフォーム] で [Apple iOS/VoIP/Mac] を選択します。
- [サンドボックス] 証明書タイプの場合のみ、[Apple 認証情報] セクションで [サンドボックスでの開発に使用] を選択します。
重要: 証明書タイプが [サンドボックスおよびプロダクション] の場合は、[サンドボックスでの開発に使用] を選択しないでください。そうしない場合、エラーが表示されます。
- [プッシュ証明書タイプ] で、お使いの証明書の種類を選択します。
- [ファイルを選択] を選択し、認証情報をロードする証明書を選択します。
- [プラットフォームアプリケーションの作成] を選択します。
FIFO エラー
"メッセージ: 無効なパラメータ: FIFO トピックには MessageGroupID パラメーターが必要です。"
MessageID を指定した場合も、上記のエラーが表示されることがあります。バージョン 2.777.0 以降の AWS SDK for JavaScript in the browser または、AWS SDK for JavaScript in Node.js を使用していることを確認してください。
API リクエストで ID を指定したにもかかわらず、無効な MessageGroupId または MessageDeduplicationId に対して Amazon SNS FIFO エラーが発生する場合があります。Amazon SNS FIFO 属性は、新しい SDK バージョンでのみ使用できます。詳細については、GitHub のウェブサイトで「AWS SDK for JavaScript の変更履歴」を参照してください。
テキストメッセージ (SMS) エラー
"テキストメッセージ属性を設定できませんでした。エラーコード: InvalidParameter - エラーメッセージ: 無効なパラメータ:"
テキストメッセージに関するエラーを解決するには、次の手順を実行します。
- Amazon SNS コンソールを開きます。
- ナビゲーションペインで、[テキストメッセージ (SMS)] を選択します。
- [テキストメッセージ設定] で [編集] を選択します。
- [アカウントの支出制限 - オプションパラメータ] に、数値 1 を入力します。
注: デフォルトでは、すべての Amazon SNS アカウントにおいて、各 AWS リージョンの支出クォータが 1 USD に設定されています。デフォルト値を超えると、エラーが発生します。アカウントの毎月の支出クォータを増やすには、アカウントの支出クォータの増加を申請してください。
- [変更を保存] を選択します。
宛先の国で専用のロングコード、ショートコード、または SenderID が必要な場合は、登録後にそのコードを使用してください。詳細については、「AWS End User Messaging SMS による SMS メッセージがサポートされている国と地域」を参照してください。
注: 登録された発信元 ID または送信者 ID は国によって異なります。他の国の発信元番号または送信者 ID を使用するには、追加の宛先国ごとに発信元番号または送信者 ID を個別に登録する必要があります。詳細については、「AWS End User Messaging SMS の電話番号または送信者 ID を選択する」を参照してください。
サブスクリプション削除エラー
"サブスクリプションを削除できませんでした。エラーコード: InvalidParameter - エラーメッセージ: Invalid parameter: SubscriptionArn Reason: ARN には 6 以上の要素が必要です (1 は許可されていません)"
PendingConfirmation 状態
PendingConfirmation 状態のサブスクリプションを削除しようとすると、エラーが発生します。Unsubscribe API を使用してサブスクリプションを削除する場合、API コールには SubscriptionARN が必要です。Amazon SNS コンソールを使用してサブスクリプションを削除すると、Amazon SNS は SubscriptionARN を自動的に選択します。
サブスクリプションが PendingSubscription 状態の場合、コンソールに SubscriptionID は表示されません。その結果、コンソールは PendingConfirmation を SubscriptionId に使用することになります。その後、API コールが失敗し、エラーを返します。
Pending confirmation 状態のサブスクリプションを解決するには、次の手順を実行します。
-
Amazon SNS コンソールを開きます。
-
ナビゲーションペインで [トピック] を選択し、次に該当するトピックを選択します。
-
Pending confirmation 状態のサブスクリプションを含むトピックと、Pending 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
-
ナビゲーションペインで [サブスクリプション] を選択し、次に該当するサブスクリプションを選択します。
-
[サブスクリプションを確認] を選択します。
-
サブスクライブ通知のサブスクライブ URL をダイアログボックスに入力し、[サブスクリプションの確認] を選択します。
-
サブスクリプションを選択し、[削除] を選択します。
または、Amazon SNS が PendingConfirmation 状態のサブスクリプションを削除するまでデフォルトの 3 日間待ってください。
Deleted 状態
Deleted 状態のサブスクリプションに対し、エラーが発生する場合があります。
サブスクリプション解除リンクを選択したエンドポイントを確認します。サブスクリプションのサブスクライブを解除すると、エンドポイントは次のような追加の通知を受信します。
"以下のトピックへのサブスクリプションは無効化されました:arn:aws:sns:Your-AWS-Region:Your-Account-Number:Your-Topic-Name
これが間違いである場合、または再サブスクライブを希望する場合は、下記のリンクをクリックするか、リンク先にアクセスしてください。
再サブスクライブ
通知にある再サブスクライブ用リンクをクリックしてください。これでサブスクリプションが確認されます。正常に完了した後、特定のサブスクリプションを選択し、[削除] ボタンをクリックしてください。"