Azure 服务总线 - 如何将元数据添加到消息中

标签 azure azureservicebus azure-servicebus-topics

我使用 .net core Web 应用程序作为发布者,使用 .net core 控制台应用程序作为订阅者。 我能够使用 Azure 门户中设置的托管标识在这两个系统之间成功传递消息。

我的问题是我需要将元数据添加到正在发送的消息中。我该怎么做?

以下是我的发布商代码:

string data = JsonConvert.SerializeObject(payloadEvents);
Message message = new Message(Encoding.UTF8.GetBytes(data));

var tokenProvider = TokenProvider.CreateManagedIdentityTokenProvider();

TopicClient sendClient = new TopicClient(_serviceBusNamespace, _topicName, tokenProvider, retryPolicy: null);

await sendClient.SendAsync(message);

最佳答案

Message对象有一个名为 UserProperties 的属性可用于设置该消息的自定义元数据。

类似于:

string data = JsonConvert.SerializeObject(payloadEvents);
Message message = new Message(Encoding.UTF8.GetBytes(data));
message.UserProperties.Add("key1", "value1");
message.UserProperties.Add("key2", "value2");

var tokenProvider = TokenProvider.CreateManagedIdentityTokenProvider();

TopicClient sendClient = new TopicClient(_serviceBusNamespace, _topicName, tokenProvider, retryPolicy: null);

await sendClient.SendAsync(message);

关于Azure 服务总线 - 如何将元数据添加到消息中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61628422/

相关文章:

typescript - Azure Functions 可以是 Typescript 中的类吗?

面向微服务类型消费者的 Azure 服务总线主题和订阅设计

c# - Microsoft Azure 服务总线队列作为 FIFO 工作

azure - 无法为事件网格触发器启动逻辑应用运行

c# - 如何访问 Azure Function 2 中的 Azure 服务总线消息属性

azure - 数据长度大于 Azure 应用程序网关 WAF 配置的限制

azure - Azure 突触 (DWH) 中的关系

azure - 在 Azure Active Directory 中使用自定义 OnPremisesSecurityIdentifier 修改或创建用户

c# - Mono 上的 Azure TimerManager 的类型初始值设定项引发异常

azure - 寻找一种通过服务总线消息对应用程序进行压力测试的工具