メニュー
Amazon Simple Notification Service
開発者ガイド (API バージョン 2010-03-31)

アプリケーションイベント通知

Amazon SNS は、特定のアプリケーションイベントが発生する際のトリガー通知をサポートします。その場合、そのイベントでプログラムによるいくつかのアクションを実行することができます。アプリケーションには、Apple Push Notification Service (APNS)、Android 用 Google クラウドメッセージング (GCM)、Windows プッシュ通知サービス (WNS) などのプッシュ通知サービスのサポートが含まれている必要があります。アプリケーションイベント通知は、Amazon SNS コンソール、AWS CLI、または AWS SDK を使用して設定します。

使用可能なアプリケーションイベント

アプリケーションイベント通知は、配信エラーとともに個々のプラットフォームエンドポイントがいつ作成、削除、および更新されたを追跡します。各アプリケーションイベントの属性名は次のとおりです。

Attribute Nameは Description
EventEndpointCreated 通知は、アプリケーションに新しいプラットフォームエンドポイントが追加された場合にトリガーされます。
EventEndpointDeleted 通知は、アプリケーションに関連付けられたプラットフォームエンドポイントが削除された場合にトリガーされます。
EventEndpointUpdated 通知は、アプリケーションに関連付けられたプラットフォームエンドポイントの属性が変更された場合にトリガーされます。
EventDeliveryFailure 通知は、アプリケーションに関連付けられたプラットフォームエンドポイントへの配信に永続的な障害が発生した場合にトリガーされます。

注記

プラットフォームアプリケーション側で配信エラーを追跡するには、アプリケーションのメッセージ配信ステータスイベントにサブスクライブします。詳細については、「メッセージの配信ステータスの Amazon SNS アプリケーション属性を使用する」を参照してください。

前述の属性はそれぞれ、アプリケーションに関連付けることができます。その場合、アプリケーションがこれらのイベント通知を受け取ることができます。

アプリケーションイベント通知を送信する

アプリケーションイベント通知を送信するには、各タイプのイベントの通知を受信できるよう、トピックを指定します。 Amazon SNS が通知を送信する場合、トピックは、プログラムによるアクションを取るエンドポイントにそれらをルーティングすることができます。

重要

大容量アプリケーションは多数のアプリケーションイベント通知 (たとえば、数万回) を作成するので、E メールアドレス、電話番号、モバイルアプリケーションなど、人間が使用するためのエンドポイントに負荷をかけます。 アプリケーションイベント通知をトピックに送信する場合は、以下のガイドラインを検討してください。

  • 通知を受信する各トピックは、HTTP または HTTPS エンドポイント、Amazon SQS キュー、AWS Lambda 関数などのプログラム的なエンドポイントのサブスクリプションのみが含まれます。

  • 通知によってトリガーされる処理量を減らすために、各トピックのサブスクリプションを小数 (たとえば、5 以下) に制限します。

Amazon SNS コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用して、アプリケーションイベント通知を送信できます。

AWS マネジメントコンソール

  1. AWS マネジメントコンソールにサインインした後、Amazon SNS コンソール (https://console.aws.amazon.com/sns/v2/home) を開きます。

  2. サービスのナビゲーションペインで、[Applications] を選択します。

  3. イベント通知を送信するアプリケーションの名前を選択します。

  4. [Actions]、[Configure events] を選択します。

  5. イベント通知を送信するイベントごとに、通知を受け取る Amazon SNS トピックの ARN の型を入力します。

  6. [Save configuration] を選択します。イベント通知が設定されます。

AWS CLI

set-platform-application-attributes コマンドを実行します。

次の例では、4 つのアプリケーションすべてに対して同じ Amazon SNS トピックを設定します。

aws sns set-platform-application-attributes --platform-application-arn arn:aws:sns:us-east-1:12345EXAMPLE:app/GCM/MyGCMPlatformApplication --attributes EventEndpointCreated="arn:aws:sns:us-east-1:12345EXAMPLE:MyGCMPlatformApplicationEvents", EventEndpointDeleted="arn:aws:sns:us-east-1:12345EXAMPLE:MyGCMPlatformApplicationEvents", EventEndpointUpdated="arn:aws:sns:us-east-1:12345EXAMPLE:MyGCMPlatformApplicationEvents", EventDeliveryFailure="arn:aws:sns:us-east-1:12345EXAMPLE:MyGCMPlatformApplicationEvents"

AWS SDK

ターゲットのプログラミング言語またはプラットフォームに応じて、次のいずれかの API を呼び出します。