gpt4 book ai didi

c# - 在 Azure Function 中将 BrokeredMessage 与 ServiceBus 队列触发器结合使用

转载 作者:太空狗 更新时间:2023-10-29 19:55:40 25 4
gpt4 key购买 nike

我创建了一个Azure Function每当将新消息添加到 Azure ServiceBus 队列时都会触发该事件。使用此代码可以正常工作:

#r "Newtonsoft.Json"
#load "..\shared\person.csx"

using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

public static void Run(string message, TraceWriter log)
{
var person = JsonConvert.DeserializeObject<Person>(message,
new JsonSerializerSettings() {ContractResolver = new CamelCasePropertyNamesContractResolver()});
log.Verbose($"From DeserializeObject: {person.FirstName} {person.LastName}");
}

我发现我也可以将消息绑定(bind)到 POCO,如下所示:

public static void Run(Person message, TraceWriter log)
{
log.Verbose($"From DeserializeObject: {message.FirstName} {message.LastName}");
}

现在我想将消息绑定(bind)到 BrokeredMessage,因为我需要访问消息的属性。

最佳答案

编辑新 SDK 使用 #r 指令支持 servicebus sdk

#r "Microsoft.ServiceBus"
using Microsoft.ServiceBus.Messaging;

public static void Run(BrokeredMessage msg, TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {msg}");
}

旧版本

只需两步:

我创建了一个 project.json 文件来添加对 WindowsAzure.ServiceBus Nuget 包的引用(请参阅 SO Post ):

{
"frameworks": {
"net46":{
"dependencies": {
"WindowsAzure.ServiceBus": "2.7.6"
}
}
}
}

我添加了对代理消息的引用:

using Microsoft.ServiceBus.Messaging;

public static void Run(BrokeredMessage message, TraceWriter log)
{
log.Verbose("Function has been triggered !!!");
}

关于c# - 在 Azure Function 中将 BrokeredMessage 与 ServiceBus 队列触发器结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36707066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com