Amazon SNS: 如何获取确认订阅的 token。

5
创建一个待确认的订阅。
aws_client.subscribe(TopicArn=topic_arn, Protocol=protocol, Endpoint=endpoint)

响应的结果大致如下:

{'ResponseMetadata': {'HTTPHeaders': {'content-length': '298',
   'content-type': 'text/xml',
   'date': 'Fri, 13 Oct 2017 10:15:47 GMT',
   'x-amzn-requestid': '7a0a40fb-ab72-5584-94f0-12a13fe11das'},
  'HTTPStatusCode': 200,
  'RequestId': '7a0a40fb-ab72-5584-94f0-12a13fe11das',
  'RetryAttempts': 0},
 u'SubscriptionArn': 'pending confirmation'}

上面的响应没有发送任何令牌。 如何获取可以传递给confirm_subscription的令牌,如此处所述。


看起来您还没有在 AWS 上确认您的帐户或付款信息。在您的情况下,这将意味着“待确认”。 - cramopy
你已经成功完成了这一步骤吗?http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html#SendMessageToHttp.confirm - cramopy
一旦我订阅了电子邮件端点,我会收到确认电子邮件,并且从那里开始运作良好。 - navyad
这里正在创建什么类型的订阅? - Michael - sqlbot
电子邮件协议的订阅。 - navyad
嗨,@navyad,你解决了这个问题吗?我也遇到了同样的问题。 - TA3
1个回答

6
似乎在“subscribe”命令的响应内部无法获取Token。如Boto 3文档中所述,Token是由之前的Subscribe操作发送到终端点的。(强调是我的)。 AWS CLI命令参考也指出了同样的事情,但可能更加清晰:
“在订阅操作期间发送到终端点的短暂Token。”(强调是我的)
换句话说,对于电子邮件终端点,Token包含在电子邮件本身中。如果查看“确认订阅”链接的URL,则可以看到它。
例如,它会看起来像这样https://sns.us-east-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:us-east-1:123456789:my-aws-topic&Token=abc123&Endpoint=address@email.com 在这个例子中,你可以看到Token是abc123

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接