如何解决MassTransing SQS/SNS - 如何在所有主题上启用静态加密
我知道要为 SNS 主题启用静态加密,我需要添加这样的主题属性
cfg.Publish<SomeEvent>(p =>
{
p.TopicAttributes.Add(QueueAttributeName.KmsMasterKeyId,"<key arn>");
});
但我遇到的问题是我们对 aspnetcore 使用非常简单的配置,使用 UsingAmazonSQS 和 cfg.ConfigureEndpoints(context) 自动完成所有这些配置,因此没有调用 cfg.Publish。这非常重要,因为我们有很多消息要配置。我相信可以通过注册 IConfigureReceiveEndpoint 的自定义实现来实现队列属性的相同功能,但我找不到主题的等效项。
如何继续使用自动方法并为所有主题添加此加密主题属性?
解决方法
目前没有一种方法可以将主题属性应用于所有主题,但这并不是一个不合理的添加请求。当然,有人可以将其构建为拉取请求,添加到 Amazon SQS 的一般发布拓扑中。
更新
I added the ability 指定应应用于所有主题的根 PublishTopology
上的属性。
在代码中使用(来自下面的评论):
configure.UsingAmazonSqs((context,cfg) =>
{
cfg.PublishTopology.TopicAttributes
.Add(QueueAttributeName.KmsMasterKeyId,encryptionKeyArn);
cfg.ConfigureEndpoints(context);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。