Azure Функция запуска служебной шины - привязка к MessageReceiver - PullRequest
1 голос
/ 16 января 2020

Я пытаюсь привязать MessageReceiver в Azure Функцию, запускаемую служебной шиной. Моя цель - обработать сообщения очереди недоставленных сообщений и завершить их.

public static class Function1
{
    [FunctionName("Function1")]
    public static async Task Run([ServiceBusTrigger("<topicName>", "<subscriptionName>/$DeadLetterQueue", Connection = "connectionstring")]Message message,
        ILogger logger,
        MessageReceiver messageReceiver)
    {
        // TODO: Perform some actions

        await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);
    }

Проблема в том, что он не может привязать к классу получателя сообщений.

Microsoft. Azure .WebJobs.Host: Ошибка индексации метода 'Function1'. Microsoft. Azure .WebJobs.Host: Невозможно привязать параметр 'receive' к типу MessageReceiver. Убедитесь, что параметр Type поддерживается привязкой. Если вы используете расширения привязки (например, Azure Storage, ServiceBus, Timers и т. Д. c.), Убедитесь, что вы вызвали метод регистрации для расширения (ей) в своем коде запуска (например, builder.AddAzureStorage () , builder.AddServiceBus (), builder.AddTimers (), et c.).

Любые идеи, почему я не могу связать?

1 Ответ

1 голос
/ 16 января 2020

Я понял, что случилось. Я использовал ' receive ' в качестве имени параметра для MessageReceiver. Оказалось, что имя параметра должно быть « messageReceiver ». В примере, который я рассматривал, сначала использовался «приемник», так что, возможно, это что-то изменило?

...