Asteria WarpフローデザイナーとAWSのSimple Notification Service(SNS)の連携:AWS SNSListSubscriptionコンポーネントを使用して、SNSのトピックに登録されているサブスクリプション情報を取得する

はじめに

AWS SNSListSubscriptionコンポーネントを使用することで、Simple Notification Service(SNS)からトピックに登録されているサブスクリプション情報を取得することができます
※今回はAWSコネクションを使用しますが、DynamoDBと連携する回で以前作成したAWSコネクションを使用してサブスクリプション情報の取得方法を解説します。

AWS SNSListSubscriptionコンポーネントと今回の確認に使用するフローについて

AWS SNSListSubscriptionの設定

このコンポーネントのプロパティとして設定した項目は以下の通りです。ここで設定していない項目はデフォルトの値を使用します。

  • コネクションを使用:はい
  • コネクション名:使用するAWSコネクションを入力します。(下図ではDynamoDBと連携する回で作成したものを使用しています。)
  • トピック ARN:サブスクリプション情報を取得したいトピックのARNを入力します。

※アクセスキー・シークレットーキー・リージョンは使用するコネクションにて事前に設定されています。

今回の確認に使用するフローについて

AWSのSNSでトピックに登録されているサブスクリプション情報を取得するために、下図のフローを作成しました。フローの実行後、指定したトピックからサブスクリプション情報が取得されます。

AWS SNSListSubscriptionコンポーネントの動作確認用フロー

フローの解説

AWS SNSListSubscription

AWS SNSListSubscriptionコンポーネントは、プロパティで指定したトピックARNを使用してトピックからサブスクリプション情報を取得します。コネクションを使用することで、接続先AWSリージョンなどの設定が自動的に行われるため、手動での設定は不要です。

マッパー

AWS SNSListSubscriptionコンポーネントで取得したサブスクリプション情報をここで編集できます。
フィールドの内容は以下の通りです。今回は編集を行わず、そのまま次に渡します。

  • Endpoint:エンドポイント(例:メールアドレス)
  • Owner:オーナー(トピックの所有者)の値(例:数字12桁)
  • Protocol:サブスクリプションのプロトコル(例:email)
  • Subscription:サブスクリプションARN
  • TopicArn:トピックARN
AWS SNSListSubscriptionコンポーネントからのストリームを受け取って編集できる

実行結果

フローを実行すると、プロパティのトピックARNで指定したトピックに登録されているサブスクリプション情報が取得できます。
取得できる情報はストリームを流れるEndpoint・Owner・Protocol・Subscription・TopicArnの各フィールドの値です。