Почему привязка вывода служебной шины не работает для Azure функций? - нет ошибок - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь отправить сообщение HTTPTriggered на выход служебной шины. Я придерживаюсь примера https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus-output?tabs=csharp

Я не получаю ошибки при выполнении этого кода из кода Visual Studio. В этом я отлаживаю локально.

Однако портал служебной шины сообщает, что поступило 0 входящих сообщений. Что может быть не так? Есть ли проблема с кодом?

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;
using Microsoft.ServiceBus.Messaging;
using Microsoft.ServiceBus;


namespace Company.Function
{
    public static class HttpTriggerCSharp1
    {
    [FunctionName("ServiceBusOutput")]

    [return: ServiceBus("queue1", Connection ="Endpoint=sb://12345servicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=12345+cmc8501HJ6Ips2OxIZKtO6gctT8d1ZpNN0GNw=")]
    public static string ServiceBusOutput([HttpTrigger] dynamic input, ILogger log)
    {

        //log.LogInformation($"C# function processed: {input.Text}");
        //return input.Text;
        return "MessageToServiceBus123"
    }
}

}

Http Functions:

        ServiceBusOutput:  http://localhost:7071/api/ServiceBusOutput

[10.3.2020 21.35.37] Host lock lease acquired by instance ID '0000000000000000000000008457DB20'.
[10.3.2020 21.35.44] Executing HTTP request: {
[10.3.2020 21.35.44]   "requestId": "0ccbb526-b861-407a-893c-cc0821b20535",
[10.3.2020 21.35.44]   "method": "GET",
[10.3.2020 21.35.44]   "uri": "/api/ServiceBusOutput"
[10.3.2020 21.35.44] }
[10.3.2020 21.35.45] Executing 'ServiceBusOutput' (Reason='This function was programmatically called 
via the host APIs.', Id=faf4083f-504a-473b-b9fa-22ac0783cdb0)
[10.3.2020 21.35.45] Executed 'ServiceBusOutput' (Succeeded, Id=faf4083f-504a-473b-b9fa-22ac0783cdb0)
[10.3.2020 21.35.45] Executed HTTP request: {
[10.3.2020 21.35.45]   "requestId": "0ccbb526-b861-407a-893c-cc0821b20535",
[10.3.2020 21.35.45]   "method": "GET",
[10.3.2020 21.35.45]   "uri": "/api/ServiceBusOutput",
[10.3.2020 21.35.45]   "identities": [
[10.3.2020 21.35.45]     {
[10.3.2020 21.35.45]       "type": "WebJobsAuthLevel",
[10.3.2020 21.35.45]       "level": "Admin"
[10.3.2020 21.35.45]     }
[10.3.2020 21.35.45]   ],
[10.3.2020 21.35.45]   "status": 200,
[10.3.2020 21.35.45]   "duration": 906
[10.3.2020 21.35.45] }
[10.3.2020 21.35.45] Executing HTTP request: {
[10.3.2020 21.35.45]   "requestId": "d2587ceb-f728-4cda-be99-ff7852384a59",
[10.3.2020 21.35.45]   "method": "GET",
[10.3.2020 21.35.45]   "uri": "/favicon.ico"
[10.3.2020 21.35.45] }
[10.3.2020 21.35.46] Executed HTTP request: {
[10.3.2020 21.35.46]   "requestId": "d2587ceb-f728-4cda-be99-ff7852384a59",
[10.3.2020 21.35.46]   "method": "GET",
[10.3.2020 21.35.46]   "uri": "/favicon.ico",
[10.3.2020 21.35.46]   "identities": [],
[10.3.2020 21.35.46]   "status": 404,
[10.3.2020 21.35.46]   "duration": 645
[10.3.2020 21.35.46] }

1 Ответ

1 голос
/ 11 марта 2020

Как сказано в документе,

Вы можете установить свойство Connection, чтобы указать имя параметра приложения, которое содержит строку подключения служебной шины для использования

You следует установить значение строки соединения в качестве пары значения ключа в local.settings. json и указать ключ

Например,

[FunctionName("ServiceBusOutput")]
[return: ServiceBus("myqueue", Connection = "ServiceBusConnection")]
public static string Run([HttpTrigger] dynamic input, ILogger log)

Local.settings. json

{  
  "ServiceBusConnection": "whatever connection string"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...