2017-10-11 4 views
4

1つのアカウントでSNSトピックを作成し、それを設定ルールに添付しようとしています。 私はそのようなアカウントを3つ持っており、それぞれのアカウントにSNSトピックを作成したいと考えています。 今度は、4つのアカウントのSQSによって、3つの異なる3つのアカウントの3つのトピックをすべて購読します。boto3を使用して、別のアカウントのSQSによってあるアカウントのSNSトピックを購読するにはどうすればいいですか?

私はそれを手動で行うことができます。誰かがboto3を使ってどのようにすることができるか教えてください。

ありがとうございました。

+0

http://boto3.readthedocs.io/en/latest/reference/services/sns.html#SNS.Client.subscribeでこれまでに試したこと – mootmoot

+0

手作業で何をしたのですか? ? – Mangohero1

+0

私はawsドキュメント[SendMessageToSQS](http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.cross.account.html)に言及しました。 –

答えて

0

アカウントBに存在するSQSによってアカウントAに存在するSNSトピックをboto3を使用して購読するには、以下の手順が必要です。

アカウントAでは、SNSトピックを作成し、適切な権限を追加してください。例えば 、今

import boto3 
sns_client = boto3.clien('sns') 
topics = sns_client.create_topic(Name='SNS topic name') 
sns_client.add_permission(
       TopicArn=str(topics['TopicArn']), 
       Label=label, 
       AWSAccountId=[ 
        "AccountB_Id", 
       ], 
       ActionName=[ 
        "GetTopicAttributes", 
        "SetTopicAttributes", 
        "AddPermission", 
        "RemovePermission", 
        "DeleteTopic", 
        "Subscribe", 
        "ListSubscriptionsByTopic", 
        "Publish", 
        "Receive" 
       ] 
      ) 

アカウントB.

import boto3 
subscription_client = boto3.client('sns') 
subscription_client.subscribe(
       TopicArn="ARN of the topic created", 
       Protocol="sqs", 
       Endpoint="ARN of the SQS present in Account B" 
      ) 

から次のコードを実行し、アカウントBから作成したトピックを購読する今、あなたはアカウントが加入されたアカウントのSNSのトピックを参照してくださいだろうB.

関連する問題