【发布时间】:2020-03-09 20:26:36
【问题描述】:
我这里有默认的基于 C# 的 HTTP 触发器,我希望将数据“Hello Name”发送到服务总线主题(已经创建)。我在门户网站上编码。
Service Bus输出绑定怎么做?
这不起作用。有什么可用的帮助吗?
-处理服务总线时缺少引用?
-如何定义服务总线的连接? Functions.json 在哪里
-如何向服务总线发送消息?
//This FunctionApp get triggered by HTTP and send message to Azure Service Bus
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
namespace Company.Function
{
public static class HttpTriggerCSharp1
{
[FunctionName("HttpTriggerCSharp1")]
[return: ServiceBus("myqueue", Connection = "ServiceBusConnection")] // I added this for SB Output. Where to define.
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string name = req.Query["name"];
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
name = name ?? data?.name;
string responseMessage = string.IsNullOrEmpty(name)
? "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."
: $"Hello, {name}. This HTTP triggered function executed successfully.";
return new OkObjectResult(responseMessage);
// I added this for SB Output
return responseMessage;
}
}
}
【问题讨论】:
-
看这个例子。它更清晰。 docs.microsoft.com/en-us/sandbox/functions-recipes/…您在应用程序设置中定义连接字符串,在名为
ServiceBusConnection的设置中@ -
我复制了示例并且“返回:ServiceBus”导致错误:“找不到类型或命名空间名称 'ServiceBusAttribute'(您是否缺少 using 指令或程序集引用?) [FunctionsHttpTriggerCodeNet]csharp (CS0246) 找不到类型或命名空间名称“ServiceBus”(您是否缺少 using 指令或程序集引用?) [FunctionsHttpTriggerCodeNet]csharp(CS0246)"
-
在我的示例集合中查看。有一个队列触发功能,但机制与输出相同。还有一个示例 local.settings.json,其中包含连接字符串 github.com/sebader/azure-samples-collection/tree/master/…
-
代码中“Connection = "queueconstring" 是在哪里定义的?是直接从 Azure 门户复制粘贴吗?
-
请查看我上面链接的示例仓库中的文件,在 local.settings.json 中(该文件用于本地调试)
标签: c# .net azure azure-functions azureservicebus