如何使用C#编写azure服务总线队列中出现项目时可以触发的azure函数?

如何使用C#编写azure服务总线队列中出现项目时可以触发的azure函数?,azure,azure-servicebus-queues,azure-functions,Azure,Azure Servicebus Queues,Azure Functions,新的azure函数预览包含一些C#模板。但C#没有服务总线队列模板。具有服务总线的节点有一个触发器模板。但仔细观察,它只支持通知中心,不支持服务总线队列。是否有可能编写一个azure函数,该函数只能在azure服务总线队列中出现项目时触发?如果现在不可能,在不久的将来会有这样一个模板吗 谢谢。 Raghu/。根据,和某人并没有约束力。 这样做的最好方法是在UserVoice上提交您的想法,而不是做(至少在某些情况下)正在产品组中工作的事情。Per与SB没有约束力。 要做到这一点,最好的方法是在U

新的azure函数预览包含一些C#模板。但C#没有服务总线队列模板。具有服务总线的节点有一个触发器模板。但仔细观察,它只支持通知中心,不支持服务总线队列。是否有可能编写一个azure函数,该函数只能在azure服务总线队列中出现项目时触发?如果现在不可能,在不久的将来会有这样一个模板吗

谢谢。 Raghu/。

根据,和某人并没有约束力。 这样做的最好方法是在UserVoice上提交您的想法,而不是做(至少在某些情况下)正在产品组中工作的事情。

Per与SB没有约束力。
要做到这一点,最好的方法是在UserVoice上提交您的想法,而不是(至少在某些情况下)在产品组中进行工作。

更新:以下步骤和信息仍然有效,但是我们现在在门户中有一个ServiceBusQueueTrigger-C#“模板,因此,不再需要解决方法步骤:)

ServiceBus已经支持C#,我们只需要为它添加一个模板(我们很快就会添加)。通常,模板只是起点—您可以通过添加其他绑定来修改模板,或者从空模板开始构建自己的函数

在我们上传模板之前,您可以从C#Empty template开始操作。例如,您可以在集成选项卡上的高级编辑器中输入绑定信息,如下所示:

{
  "bindings": [
    {
      "type": "serviceBusTrigger",
      "name": "message",
      "direction": "in",
      "queueName": "samples-input",
      "connection": "myServiceBus"
    }
  ]
}
确保函数应用程序的AppSetting与包含ServiceBus连接字符串的
连接
属性的名称相匹配。看起来我们目前在ServiceBus的连接字符串选择器(也将很快修复)方面存在一些问题,但您可以使用“功能应用程序设置”/“转到应用程序服务设置”/“应用程序设置”添加此应用程序设置。然后您可以使用相应的功能代码:

using System;
using Microsoft.Azure.WebJobs.Host;

public static void Run(string message, TraceWriter log)
{
    log.Verbose($"C# ServiceBus Queue function processed message: {message}");
}

每当新消息添加到ServiceBus queue
示例输入时,就会调用此函数更新:以下步骤和信息仍然有效,但是我们现在在门户中有一个“ServiceBusQueueTrigger-C”活模板,因此不再需要解决步骤:)

ServiceBus已经支持C#,我们只需要为它添加一个模板(我们很快就会添加)。通常,模板只是起点—您可以通过添加其他绑定来修改模板,或者从空模板开始构建自己的函数

在我们上传模板之前,您可以从C#Empty template开始操作。例如,您可以在集成选项卡上的高级编辑器中输入绑定信息,如下所示:

{
  "bindings": [
    {
      "type": "serviceBusTrigger",
      "name": "message",
      "direction": "in",
      "queueName": "samples-input",
      "connection": "myServiceBus"
    }
  ]
}
确保函数应用程序的AppSetting与包含ServiceBus连接字符串的
连接
属性的名称相匹配。看起来我们目前在ServiceBus的连接字符串选择器(也将很快修复)方面存在一些问题,但您可以使用“功能应用程序设置”/“转到应用程序服务设置”/“应用程序设置”添加此应用程序设置。然后您可以使用相应的功能代码:

using System;
using Microsoft.Azure.WebJobs.Host;

public static void Run(string message, TraceWriter log)
{
    log.Verbose($"C# ServiceBus Queue function processed message: {message}");
}

只要有新消息添加到ServiceBus队列
示例输入

中,就会调用此函数。请尝试Azure LogicApps。它有带触发器的服务总线连接器。建议尝试Azure LogicApps。它具有带有trigger.Done的服务总线连接器。如果有人想投票支持这个功能,请点击这里:我做到了。如果我的答案有帮助,请将其标记为答案。谢谢完成。如果有人想投票支持这个功能,请点击这里:我做到了。如果我的答案有帮助,请将其标记为答案。谢谢我试试看。另一个问题:消息是否将从队列中删除?它不起作用。以下是我的绑定:{“绑定”:[{“queueName”:“myrequestqueue”,“connection”:“myServiceBusConnection”,“name”:“myQueueItem”,“type”:“serviceBusTrigger”,“direction”:“in”}],“disabled”:false}以下是我的集成选项卡信息的外观:消息参数名称:myQueueItem;行为:触发;队列名称:myrequestqueue;服务总线连接:myServiceBusConnection下面是我的func的应用程序设置:在连接字符串部分:name:myServiceBusConnection值:Endpoint=sb://…我上面发布的函数对我来说是如何工作的。如果我将“text/plain”类型的消息排入队列,则调用我的函数。如果您在门户中输入测试数据并点击“运行”按钮,您的函数是否运行?另外,不要将
myServiceBusConnection
放在连接字符串中,尝试将其添加为“应用程序设置”。我将尝试这样做。另一个问题:消息是否将从队列中删除?它不起作用。以下是我的绑定:{“绑定”:[{“queueName”:“myrequestqueue”,“connection”:“myServiceBusConnection”,“name”:“myQueueItem”,“type”:“serviceBusTrigger”,“direction”:“in”}],“disabled”:false}以下是我的集成选项卡信息的外观:消息参数名称:myQueueItem;行为:触发;队列名称:myrequestqueue;服务总线连接:myServiceBusConnection下面是我的func的应用程序设置:在连接字符串部分:name:myServiceBusConnection值:Endpoint=sb://…我上面发布的函数对我来说是如何工作的。如果我将“text/plain”类型的消息排入队列,则调用我的函数。如果您在门户中输入测试数据并点击“运行”按钮,您的函数会运行吗?另外,不要将
myservice