Я пытаюсь создать функцию Azure для триггера EventHub с множеством элементов для пакетирования сообщений о событиях.
Ниже приведен код в файле run.csx
#r "Microsoft.Azure.EventHubs"
using System.Text;
using System;
using Microsoft.ServiceBus.Messaging;
using Microsoft.Azure.EventHubs;
public static void Run(EventData[] eventMessage, ILogger logger)
{
logger.LogInformation("Event: {Encoding.UTF8.GetString(eventMessage.Body)}");
logger.LogInformation("EnqueuedTimeUtc={eventMessage.SystemProperties.EnqueuedTimeUtc}");
logger.LogInformation("SequenceNumber={eventMessage.SystemProperties.SequenceNumber}");
logger.LogInformation("Offset={eventMessage.SystemProperties.Offset}");
}
вдоль конфигурации времени выполнения host.json:
{
"version": "2.0"
}
и файл конфигурации функции function.json
{
"bindings": [
{
"type": "eventHubTrigger",
"name": "eventMessage",
"direction": "in",
"eventHubName": "myEventHub",
"connection": "consumer_hub",
"consumerGroup": "$Default",
"cardinality": "many"
}
]
}
После получения ошибки компиляции в отношении сборки отсутствует
2018-11-27T09:36:54.325 [Error] run.csx(1,1): error CS0006: Metadata file 'Microsoft.Azure.EventHubs' could not be found
2018-11-27T09:36:54.389 [Error] run.csx(5,17): error CS0234: The type or namespace name 'ServiceBus' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
2018-11-27T09:36:54.425 [Error] run.csx(6,23): error CS0234: The type or namespace name 'EventHubs' does not exist in the namespace 'Microsoft.Azure' (are you missing an assembly reference?)
2018-11-27T09:36:54.522 [Error] run.csx(9,24): error CS0246: The type or namespace name 'EventData' could not be found (are you missing a using directive or an assembly reference?)
Не могли бы вы помочь мне, почему зависимостьнедоступно в лазурной функции?Даже в документации Azure есть ссылка на это. Это означает, что эти сборки уже должны присутствовать в среде выполнения, предоставляемой Azure.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs