从 docs 中并不清楚如何输出结构化消息。在旧函数中,我使用了 BrokeredMessage
,并且文档说对 V2 函数使用 Message
,但是没有关于如何的指导用这个。这是正确的吗:
[FunctionName(nameof(Job))]
public static async Task<IActionResult> Job(
// ...
IAsyncCollector<Microsoft.Azure.ServiceBus.Message> serializedJobCollector
)
目标是能够设置一些元数据属性,例如 ID,我之前已经这样做过(使用 V1 和 BrokeredMessage
)来进行重复检测,但我不确定这是否是正确或者我需要序列化为字符串或者什么...
最佳答案
您已经找到了正确的方法,如 doc说
for 2.x, use Message instead of BrokeredMessage
举个例子
[FunctionName("FunctionTest")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
[ServiceBus(queueOrTopicName:"queueName",Connection ="ServiceBusConnection")]IAsyncCollector<Message> outputMessages,
ILogger log)
{
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
var message = new Message
{
Body = System.Text.Encoding.UTF8.GetBytes(requestBody),
MessageId = "MyMessageId"
};
await outputMessages.AddAsync(message);
}
关于c# - 是否可以使用 Azure Functions V2 输出 Message/BrokeredMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54038805/