2017-01-20 13 views
0

私は恐ろしく間違って何かをしなければならないが、私はAWS CLIを使用したSNSのトピックをサブスクライブしてみてください、そうのように:AWS CLIからSNSトピックを購読すると、予期しないペイロードが生成されるのはなぜですか?

POST /api/aws/sns HTTP/1.1 
Host: <censored> 
Accept-Encoding: identity 
User-Agent: aws-cli/1.11.38 Python/3.6.0 Linux/4.8.13-1-ARCH botocore/1.5.1 
X-Amz-Date: 20170120T140758Z 
Authorization: <censored> 
Content-Length: 127 
Content-Type: application/x-www-form-urlencoded 

Action=Subscribe&Version=2010-03-31&TopicArn=censored&Protocol=http[!http] 

aws sns subscribe --topic-arn <valid-arn> --protocol http --endpoint-url <valid, accessible URL>

私は完全に予想外のPOSTペイロードを取得

the documentationに応じた場合:

あなたのコードがHTTPのPOSTリクエストのHTTPヘッダをお読みくださいAmazon SNSがエンドポイントに送信されます。あなたのコードは ヘッダーフィールドx-amz-sns-message-typeを検索する必要があります。これは、Amazon SNSが送信した メッセージのタイプを示しています。

したがって、少なくともx-amz-sns-message-typeヘッダーを持つJSONドキュメントである必要があります。

さらに、私のホストからURLエンドポイントへの検証POSTリクエストが行われます。これは奇妙なことです。

AWS CLIとWebコンソールのSNSトピックの購読には基本的な違いがありますか?

答えて

2

--notification-endpointではなく--endpoint-urlを使用してください。 endpoint-urlパラメータは、実際のsubscribe要求をどこに送信するかをAWSCLIに伝えるために使用されます。それはあなたが見ているものです。

aws sns subscribe --topic-arn <valid-arn> --protocol http --notification-endpoint <valid, accessible URL> 
+0

ありがとうございました!私はあまりにも長い間それを凝視してきた... –

関連する問題