Amazon SNS:如何获取确认订阅令牌

时间:2017-10-13 10:55:58

标签: python-2.7 boto amazon-sns

以下创建订阅等待确认。

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的令牌here

1 个答案:

答案 0 :(得分:2)

看起来,subscribe命令本身的响应中没有令牌。相反,作为mentioned in the Boto 3 documentation,令牌是

  通过之前的订阅操作

" ... 发送到端点 。" ( 强调 我的)

AWS CLI Command Reference说明了同样的事情,但可能更清楚一点:

  

"在订阅操作期间,短期令牌 发送到端点 。" ( 强调 我的)

换句话说,对于电子邮件端点,令牌位于电子邮件本身中。如果您查看"确认订阅"的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

在此示例中,您可以看到令牌 abc123