Rav*_*avi 3 amazon-sqs amazon-web-services amazon-iam
在AWS账户中将消息从一个SQS队列复制到另一个队列的最佳方法是什么?搜索之后,我附加了策略,授予IAM用户(在目标帐户中)对源队列的完全读写访问权限.然后,我为每个人的源队列附加了一个权限,以便在队列上发送和接收消息访问.
我收到以下错误 -
线程"main"中的异常com.amazonaws.AmazonServiceException:请求中包含的安全令牌无效.(服务:AmazonSQS;状态代码:403
可能是IAM用户凭据有问题,但是,我刷新了凭据,但我仍然收到错误
权限是次要问题.主要问题是如何"跨AWS账户将消息从一个SQS队列复制到另一个队列".
Amazon SQS最近推出了在消息到达时触发AWS Lambda功能的功能.您可以创建一个Lambda函数,然后在另一个队列(可能位于不同的帐户,区域等)中创建消息.但是,原始邮件在处理后将被删除,因此它不会真正"复制"邮件.
更好的方法是:
请参阅:将Amazon SNS消息发送到其他帐户中的Amazon SQS队列 - Amazon Simple Notification Service
AWS re:Invent提供了一个很棒的视频,展示了如何一起使用SQS和SNS.
更新:如何复制队列中的现有邮件
"队列中存在需要复制到新帐户中新队列的消息."
如果是这样,那你就麻烦了!
队列的想法是检索处理和删除的消息.显然,这是"复制"消息的一个坏主意,因为您不想删除它们.
您可以尝试增加队列的隐身超时,然后检索队列中的所有消息.它们将被放置在飞行中,这意味着它们暂时不可见,但如果在隐身超时期限结束时未被删除,它将重新出现在队列中.因此,您的应用程序可以读取每条消息(但不删除它们)并在第二个队列中创建新消息.然后,每个原始消息将重新出现在原始队列中.
或者,您可以编写一个应用程序来读取每条消息并将其发送到两个队列,随时删除源消息.然后,将其中一个新队列视为原始队列的替代.
底线:没有预先提供的方法.你必须自己做.
| 归档时间: |
|
| 查看次数: |
2558 次 |
| 最近记录: |