Mr.*_*ock 3 nservicebus amazon-sqs amazon-sns
我正在开发一个使用 NServicebus 将消息发布到 AWS SQS 队列的项目。
NServicebus 具有一项功能,可以在您运行应用程序时为您构建队列、主题和订阅。我的大多数队列/主题/订阅都是通过这种方式创建的。
有一个队列不是以这种方式创建的,因此我之前手动创建了它以及与之配套的主题和订阅。
我正在扩展此现有设置以接受新的消息类型。因此,NServicebus 添加了新的主题和订阅来与现有队列配合使用。
当我要添加手动主题和订阅以使用手动队列时,我按照以前的方式进行了操作。但是,现在消息没有进入队列。
我开始寻找这次我可能做错了什么/不同的地方。我发现只有一处不同。现在,当查看订阅的详细信息时,我在新的订阅中看到“订阅主体”,但在旧的订阅中却看不到。
新的:
老的:
深入研究这一点,我发现新创建的 NServicebus 订阅和手动创建的订阅主体是不同的。我猜测这是消息未到达队列的原因。
但为什么几个月前还没有发生这种情况,现在却发生了呢?SQS 是否改变了订阅的运作方式?如果是这样,有没有办法像以前一样?也许是某个地方的设置?
在联系 AWS 支持后,他们提到:
关于“SubscriptionPrincipal”,这显示了创建订阅时正在使用的 IAM 角色。这是一个新属性,因此只会针对新创建的订阅显示。我认为这不会造成任何问题。
然后,在手动检查并重新创建 SNS 主题和订阅后,消息进入队列就没有问题了。我们一致认为,在第一次创建它们时一定是一个被忽视的错误。新的订阅主体属性是一个转移注意力的东西。
| 归档时间: |
|
| 查看次数: |
2261 次 |
| 最近记录: |