如何将消息发送到其他AWS账户中的SQS队列中?

时间:2019-12-18 17:07:09

标签: amazon-web-services amazon-sqs

我的公司有多个帐户,我在帐户1中写了一个lambda,需要写入帐户2中的SQS队列。我的代码如下:

logger.info(f"{len(entries)} batch entries built")
    sqs_queue = environ["SQS_QUEUE"]
    try:
        logger.info("Getting SQS queue url...")
        queue_url = sqs.get_queue_url(QueueName=sqs_queue)['QueueUrl']
        # iterate over entries in batches of 10
        for batch in [entries[index:index + sqs_batch_limit] for index in range(0, len(entries), sqs_batch_limit)]:
            logger.info(f"Sending batch of {len(batch)} records to sqs...")
            sqs.send_message_batch(
                QueueUrl=queue_url,
                Entries=batch
            )

问题在于,两个帐户中都有一个名为sqs-queue-data的SQS队列,因此我在上面编写的代码将默认写入与此Lambda相同的帐户中的SQS队列。那该怎么办?

1 个答案:

答案 0 :(得分:2)

例如,在调用<div id="app"> <v-app> <v-list v-for="(icon,i) in iconActions" :key="`${i} - ${icon}`"> <v-list-tile> <v-icon v-if="i === highlightIconIndex" class="highlight">{{icon.icon}}</v-icon> <v-icon v-else>{{icon.icon}}</v-icon> </v-list-tile> </v-list> </v-app> </div>时使用QueueOwnerAWSAccountId参数。

get_queue_url

文档:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.get_queue_url