Azure 服务总线 - 如何向消息添加元数据
Azure service bus - how to add metadata to the message
我使用 .net 核心网络应用作为发布者,使用 .net 核心控制台应用作为订阅者。
我能够使用托管身份在这两个系统之间成功传递消息 - 在 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
object has a property called 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);
我使用 .net 核心网络应用作为发布者,使用 .net 核心控制台应用作为订阅者。 我能够使用托管身份在这两个系统之间成功传递消息 - 在 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
object has a property called 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);