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

受信者が Lambda 関数の場合のシステム間メッセージングに Amazon SNS を使用する

Amazon SNS と AWS Lambda は統合されているため、Amazon SNS 通知を使用して Lambda 関数を呼び出すことができます。Lambda 関数がサブスクライブしている SNS トピックにメッセージが発行されると、発行されたメッセージのペイロードで Lambda 関数が呼び出されます。Lambda 関数は、メッセージペイロードを入力パラメータとして受け取り、メッセージの情報の操作、他の SNS トピックへのメッセージの発行、または他の AWS サービスへのメッセージの送信を行うことができます。

さらに、Amazon SNS は、Lambda エンドポイントに送信されたメッセージ通知のメッセージ配信ステータス属性もサポートします。詳細については、「メッセージの配信ステータスの Amazon SNS トピック属性」を参照してください。

前提条件

Amazon SNS 通知を使用して Lambda 関数を呼び出すには、以下が必要になります。

  • Lambda 関数

  • Amazon SNS トピック

Lambda 関数の作成の詳細については、「AWS Lambda の使用開始」を参照してください。Amazon SNS トピックの作成については、「トピックの作成」を参照してください。

AWS マネジメントコンソール を使用した Amazon SNS と Lambda エンドポイントの設定

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

  2. 左側のナビゲーションペインで、[トピック] を選択してから、Lambda エンドポイントをサブスクライブするトピックを選択します。

  3. [Actions (アクション)]、[トピックへのサブスクリプション] の順に選択します。

  4. [Protocol] ドロップダウンボックスで [AWS Lambda] を選択します。

  5. [Endpoint] ドロップダウンボックスで、Lambda 関数の ARN を選択します。

  6. [Version or Alias] ドロップダウンボックスで、使用可能なバージョンまたはエイリアスの中から使用するものを選択します。バージョンまたはエイリアスを指定しない場合は、[default (デフォルト)] (最新バージョン) を選択できます。

    注記

    Lambda では、$LATEST のイベントソースを追加できません。ただし、非修飾 ARN (実際は $LATEST) のイベントソースは許可します。

    詳細については、「AWS Lambda 関数のバージョニングとエイリアス」を参照してください。

  7. [Create subscription] を選択します。

Lambda 関数がサブスクライブしている SNS トピックにメッセージが発行されると、発行されたメッセージのペイロードで Lambda 関数が呼び出されます。SNS、Lambda、および Amazon DynamoDB を使用してサンプルメッセージ履歴ストアを作成する方法については、AWS モバイル開発ブログ「Amazon SNS 経由で AWS Lambda 関数を呼び出す」を参照してください。