Ошибка при чтении из темы / подписки ServiceBus с помощью функции Azure - PullRequest
0 голосов
/ 20 декабря 2018

В настоящее время я разрабатываю функции Azure (новичок в этом), но я получаю сообщение об ошибке ниже при попытке прочитать из темы / подписки.Я понятия не имею, что вызывает это.Любая помощь будет оценена.

[20/12/2018 14:22:22] Loaded custom extension: ServiceBusExtensionConfig from 'referenced by: Method='Function.ContentCacheUpdate.ReadNotificationQueue.Run', Parameter='mySbMsg'.'
[20/12/2018 14:22:22] Generating 1 job function(s)
[20/12/2018 14:22:23] Found the following functions:
[20/12/2018 14:22:23] Function.ContentCacheUpdate.ReadNotificationQueue.Run
[20/12/2018 14:22:23]
[20/12/2018 14:22:23] Host initialized (1208ms)
Listening on http://localhost:7071/
Hit CTRL-C to exit...
[20/12/2018 14:22:23] Host started (1682ms)
[20/12/2018 14:22:23] Job host started
[20/12/2018 14:22:23] Host lock lease acquired by instance ID '000000000000000000000000EB6A5850'.

Моя функция выглядит так

private const string TopicName = "testtopic";

[FunctionName("Function2")]
public static void Run([ServiceBusTrigger(TopicName, "SubscriptionName", Connection = "MyBindingConnection")]string mySbMsg, ILogger log)
{
    log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
}

, а мой файл local.settings.json

{
 "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "TopicName": "testtopic",
    "SubscriptionName": "testsubscription",
    "MyBindingConnection": "Endpoint=sb://test-.xxxxxxxxxxxxxxxxxxxx="
  }
}

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Даже я так и сделал, Можете ли вы перепроверить, есть ли в подписке сообщения.

0 голосов
/ 21 декабря 2018

Похоже, что ваши основные инструменты Azure, используемые VS, устарели.Чтобы исправить это,

Сначала перейдите в меню VS> Инструменты> Расширения и обновления, найдите Azure Functions and Web Jobs Tools, обновите его, если это не последний (15.10.2046.0 прямо сейчас).Закройте все экземпляры VS.Дождитесь окончания обновления (если оно есть).

Затем очистите старые инструменты и шаблоны и используйте VS для загрузки новых инструментов.

  1. Удалите %localappdata%\AzureFunctionsTools и%userprofile%\.templateengine папка.

  2. Повторное открытие VS для создания нового проекта функции, подождите в диалоговом окне создания, См. Making sure all templates are up to date....

    enter image description here Через некоторое время мы видим изменения в подсказке как

    enter image description here

  3. Нажмите Обновить, чтобы мгновенно работать с последним шаблоном.

После создания нового триггера темы v2 ServiceBus измените код, как показано ниже.Connection ищет значение в настройках приложения (local.setting.json) по умолчанию, в то время как для других свойств нам нужно обернуть их знаком процента.Подробности см. В doc .

    [FunctionName("MyServiceBusTrigger")]
    public static void Run([ServiceBusTrigger("%TopicName%", "%SubscriptionName%", Connection = "MyBindingConnection")]string mySbMsg, ILogger log)
    {
        log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
    }

local.settings.json

{
 "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "TopicName": "testtopic",
    "SubscriptionName": "testsubscription",
    "MyBindingConnection": "Endpoint=sb://test-.xxxxxxxxxxxxxxxxxxxx="
  }
}
...