web-dev-qa-db-ja.com

SNSからキネシスへのメッセージの公開

SNSからキネシスにメッセージを公開する必要があります。私は、SNS/SQSと同じようにサブスクライブすることによって直接不可能であることを発見しました。 SNSから取得してキネシスに公開するには、ラムダを記述する必要があります。 SNSからキネシスに直接レコードを公開する他の方法はありますか?ありがとう

8
user3462649

Amazon SNSはパブリッシュ/サブスクライブモデルです。

SNSに送信されるメッセージは、以下から購読できます。

  • http/s:HTTP POSTを介したJSONエンコードメッセージの配信
  • email:SMTP経由のメッセージの配信
  • email-json:JSONでエンコードされたメッセージをSMTP経由で配信
  • sms:SMSによるメッセージの配信
  • sqs:Amazon SQSキューへのJSONエンコードメッセージの配信
  • application:モバイルアプリおよびデバイスのEndpointArnへのJSONエンコードメッセージの配信。
  • lambda:JSONエンコードされたメッセージのAWS Lambda関数への配信。

参照: 購読-Amazon Simple Notification Service

これらのうち、Amazon Kinesisへの送信に使用できるのはAWS Lambdaを使用することだけです。メッセージをKinesisストリームに送信するLambda関数を作成する必要があります。

明確にするために:Lambda関数は「SNSから取得」しません。むしろ、Lambda関数はSNSによってトリガーされ、メッセージは入力として渡されます。次に、Lambda関数はKinesisにメッセージを送信する必要があります。

他の唯一の選択肢は、現在メッセージをSNSに送信しているシステムを変更し、代わりにメッセージをKinesisに送信することです。

11
John Rotenstein