AWS Boto SNS 无效参数主题名称
AWS Boto SNS invalid parameter topic name
我正在尝试使用 SNS 和 Boto (python) 向 iPhone 发送推送消息。
当我设置要发布到的普通 SNS 主题(替换下面的设备='xxx')时,代码工作正常,但是当我将 arn 替换为在该应用程序中注册的应用程序或设备时,它会抱怨具有以下内容:
boto.exception.BotoServerError: BotoServerError: 400 Bad Request
{"Error":{"Code":"InvalidParameter","Message":"Invalid parameter: Topic Name","Type":"Sender"},"RequestId":"ee1fa01c-3b01-52be-9ca2-ed42c6748e40"}
问题是我什至没有名为“主题名称”的参数。 http://boto.readthedocs.org/en/latest/ref/sns.html 关于发布部分的 boto 文档是我见过的最糟糕的文档之一。有人读过吗?
代码如下所示:
from boto.sns import connect_to_region
AWS_KEY = '--REMOVED--'
AWS_SECRET = '--REMOVED--'
def push(subject, message, device = u'arn:aws:sns:eu-west-1:606448161548:app/APNS_SANDBOX/SkygdIphone'):
c = connect_to_region('eu-west-1', aws_access_key_id = AWS_KEY, aws_secret_access_key = AWS_SECRET)
c.publish(
device,
message,
subject)
push('subject', 'message')
任何建议,我现在都在努力反对这个建议。
我认为问题在于您依赖 publish
方法的参数顺序,而它们不是您所期望的。
相反,试试这个:
c.publish(message=message, subject=subject, target_arn=device)
看看你是否能得到更好的结果。
我正在尝试使用 SNS 和 Boto (python) 向 iPhone 发送推送消息。
当我设置要发布到的普通 SNS 主题(替换下面的设备='xxx')时,代码工作正常,但是当我将 arn 替换为在该应用程序中注册的应用程序或设备时,它会抱怨具有以下内容:
boto.exception.BotoServerError: BotoServerError: 400 Bad Request
{"Error":{"Code":"InvalidParameter","Message":"Invalid parameter: Topic Name","Type":"Sender"},"RequestId":"ee1fa01c-3b01-52be-9ca2-ed42c6748e40"}
问题是我什至没有名为“主题名称”的参数。 http://boto.readthedocs.org/en/latest/ref/sns.html 关于发布部分的 boto 文档是我见过的最糟糕的文档之一。有人读过吗?
代码如下所示:
from boto.sns import connect_to_region
AWS_KEY = '--REMOVED--'
AWS_SECRET = '--REMOVED--'
def push(subject, message, device = u'arn:aws:sns:eu-west-1:606448161548:app/APNS_SANDBOX/SkygdIphone'):
c = connect_to_region('eu-west-1', aws_access_key_id = AWS_KEY, aws_secret_access_key = AWS_SECRET)
c.publish(
device,
message,
subject)
push('subject', 'message')
任何建议,我现在都在努力反对这个建议。
我认为问题在于您依赖 publish
方法的参数顺序,而它们不是您所期望的。
相反,试试这个:
c.publish(message=message, subject=subject, target_arn=device)
看看你是否能得到更好的结果。