1

私はAmazon Elastic Beanstalkを使用してnodejs Webページを実行しています。 AWS SNSからこのWebページに通知を送信し、リアルタイムでそれらを捕捉したいだけです。だから、私がHTTPエンドポイントに公開すると、何も起こりませんし、通知の取得方法もわかりません。HTTPエンドポイントで購読を確認し、SNS通知を受け取る方法は?

HTTPエンドポイントとして、私はAWS Elastic-Beanstalk httpアドレスを設定します。

私はAmazonのドキュメントを読んでいますが、どこにでもsnpメッセージを一度httpエンドポイントで捕捉する方法はありません。

ご協力いただきますようお願い申し上げます。ありがとう。

答えて

0

SNSには3種類のメッセージがあります。購読、購読解除、および通知。購読メッセージを正しく処理するまで、通知メッセージは表示されません。これには、Subscribeリクエストを受け取ったときにAWSへのAPIリクエストを作成することが含まれます。

この場合、コールはConfirmSubscriptionです:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#confirmSubscription-property

あなたがそれを行うならば、あなたは、通知メッセージの受信を開始し、あなたのコードが許す限り、あなたはそれらを扱うことができます。

+0

返信ありがとうございます。問題は、AWS SNSから公開するときに、scbscribeメッセージを受け取っていないため、HTTPエンドポイントやその他のPOSTコンテンツにトークンが届かないということです。トークンはsucbscriptionの確認に必要ですが、私はサブスクリプション確認を処理するために必要なPOST "資格情報"を受け取っていません。 –

+0

ブラウザでエンドポイントにアクセスしようとすると、すべて正常に動作しますか? – datasage

+0

実際、私はブラウザでアクセスしようとしています。私はnodejs expressを使用しています。私は "server.on( 'request' ..."イベントを私のjsで設定することによって "subscribe message"私はまだそれを処理できず、このサブスクリプションを確認できません。 –

0

エンドポイントをサブスクライブすると、Amazon SNSはサブスクリプション確認メッセージをエンドポイントに送信します。あなたは、サブスクリプションの確認メッセージからSubscribeURL値を取得するエンドポイントでのコードを持っており、どちらかの手動たとえば、SubscribeURLを訪れることができるようにSubscribeURL自身またはあなたにそれを利用できるようにすることにより、指定された場所を訪問するべきである 、ウェブブラウザを使用して。

Amazon SNSは、購読が確認されるまでエンドポイントにメッセージを送信しません。

あなたは、サブスクリプションが確認されていることを確認するためにアマゾンSNSコンソールを使用することができます。サブスクリプションIDは、サブスクリプションのARNの代わりに、あなたが最初のサブスクリプションを追加したときに見たPendingConfirmation値が表示されます。

1

HTTP/HTTPSエンドポイントを与えてawsコンソールからサブスクリプションを作成すると、Amazonはそのエンドポイントにサブスクリプションmsgを送信します。これは休息です。このアプリケーションにはこのエンドポイント用のハンドラが必要です。そうしないと、このサブスクリプションメッセージをキャッチできなくなります。ハンドラが渡されるhttpRequestオブジェクトは、そのSNSMsgTypeHdrヘッダーフィールドにアクセスする必要があります。この値は "SubscriptionConfirmation"になります。この特定のメッセージを最初にキャッチし、サブスクリプションURLを取得する必要があります。あなたはアプリ自体でそれを処理したり、それを印刷したり、そのURLを手動で訪問して購読したりすることができます。あなたのアプリがメッセージをプッシュするたびに、あなたのメールIDもメッセージを取得するようになりますが(少なくともトークンは異なります)、少なくともあなたは同じメッセージを同じトピックにサブスクリプションすることを提案します。メッセージがエンドポイントにプッシュされていることを確認してください。必要なのは、エンドポイントでのメッセージを処理するためにアプリを動かし続けることだけです。

関連する問題