Свойства привязки ServiceBusTrigger для Azure Function 2.0 - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь привязать свойство 2.0 функций ServiceBusTrigger для Azure под названием: Свойства IDictionary в качестве входного параметра, например:

 public static class Function1
{
    [FunctionName("Function1")]
    public static void Run([ServiceBusTrigger("topic-name", "subscription-name", Connection = "connection-string")]string mySbMsg, string  messageId, string correlationId, IDictionary<string,object> properties, ILogger log)
    {
        log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
    }
}

Я получил ошибку:

Microsoft.Azure.WebJobs.Host: Ошибка индексации метода 'Function1.Run'.Microsoft.Azure.WebJobs.Host: Невозможно привязать «свойства» параметра к типу IDictionary`2.Убедитесь, что параметр Type поддерживается привязкой.Если вы используете привязки расширений (например, ServiceBus, Timers и т. Д.), Убедитесь, что вы вызвали метод регистрации для расширения (ей) в своем коде запуска (например, config.UseServiceBus (), config.UseTimers () и т. Д..).

В качестве источника я использую: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus документацию.

MessageId & CorrelationId работают нормально.Как получить: Свойства IDictionary << String, Object >> Свойства сообщения конкретного приложения?

1 Ответ

0 голосов
/ 08 октября 2018

Для функций v2 метаданные Properties были изменены на UserProperties, см. Связанные код и doc .

contract.Add ("UserProperties", typeof (IDictionary));

Вы можете использовать IDictionary<string,object> userProperties.

...