я должен делать что-то ужасно неправильно, но когда я пытаюсь подписаться на тему SNS с помощью AWS CLI, например, так:Почему подписка с AWS CLI на тему SNS порождает неожиданную полезную нагрузку?
aws sns subscribe --topic-arn <valid-arn> --protocol http --endpoint-url <valid, accessible URL>
я получаю совершенно неожиданный полезный груз POST:
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]
Когда согласно the documentation:
Ваш код должен прочитать HTTP-заголовки запросов на HTTP POST, что Amazon SNS отправляет вашу конечную точку. Ваш код должен искать поле заголовка x-amz-sns-message-type, в котором указывается тип сообщения , который отправил вам адрес Amazon SNS.
Таким образом, это должен быть документ JSON с по крайней мере заголовком x-amz-sns-message-type
.
Кроме того, запрос POST проверки выполняется с моего хоста на конечную точку URL, что кажется странным.
Есть ли принципиальная разница между подпиской на тему SNS из AWS CLI и веб-консолью?
Ух, спасибо! Я слишком долго смотрел на него ... –