boto3 опубликовать в теме с именем - PullRequest
0 голосов
/ 09 октября 2018

Как мне опубликовать тему, используя ее имя, а не арн.И я не вижу никакого руководства о том, как в документации.В настоящее время единственный способ получить доступ к теме - это арн.

Я использую сценарий развертывания, такой как безсерверный, для создания всех своих лямбд и тем и получаю понятные имена.

Единственный способ для менядоступ к теме по имени -

import boto3
sns = boto3.client('sns')
topics = sns.list_topics()
topic_arn = // search for topic with name in arns stored in topics
topic_arn.publish()

. Этот подход кажется неэффективным, и было бы хорошо получить доступ к теме по имени, или есть решение для этого?

1 Ответ

0 голосов
/ 09 октября 2018

Вам не нужно искать по темам, чтобы найти ARN, просто создайте его самостоятельно (Python 3):

aws_region = 'us-west-1' # or whatever you like
aws_account_id = '123456789012' # replace with your real account ID via some secure mechanism
topic_name = 'FriendlySNSTopicName' # replace as needed
topic_arn = f"arn:aws:sns:{aws_region}:{aws_account_id}:{topic_name}"

Также обратите внимание, что предоставленный код не будет работать.Вы создаете низкоуровневый клиент, но используете стиль ресурса для вашего publish() вызова.

...