Я пытаюсь отправить push-сообщения на iphones, используя SNS и Boto (python).AWS Boto SNS недопустимое имя темы параметра
Код работает нормально, когда я устанавливаю обычную тему 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"}
Проблема в том, что у меня даже нет параметра, который называется названием темы. Документация boto на странице http://boto.readthedocs.org/en/latest/ref/sns.html раздел о публикации - одна из худших документов, которые я когда-либо видел. Кто-нибудь читал это вообще?
код выглядит следующим образом:
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')
Любые предложения, я стучал голову этого в настоящее время в течение некоторого времени.
Спасибо, что на самом деле имело смысл, после некоторого дополнительного рытья я понял, что существует разница между «topic_arn» и «target_arn» в отношении того, к каким конечным точкам можно отправить. Для мобильного push вам нужно отправить «target_arn» и с обычными темами SNS, которые вы отправляете с «topic_arn». Также представляется невозможным прямое обращение к приложению мобильного приложения (для установки на все его устройства). – DavKa
спасибо, я боролся с документацией на boto для python. Все было правильно, но «message = *, subject = *, target_arn = *» .. не знал, что это нужно решать так. спасибо, ребята, очень! :-) – Zuop