Надеюсь, вы можете мне помочь.
Я новичок в Azure и у меня много проблем с его пониманием. Я пытаюсь написать функцию azure, которая запускается с помощью EventHubTrigger (когда новое событие отправляется в eventHub) и сохранит событие в моей таблице в базе данных cosmos. (cosmos db в качестве вывода).
Я пишу в C#, поэтому функция json создается автоматически, и я не могу ее редактировать. Кажется, я не могу заставить его работать, чтобы правильно установить привязку триггера и вывода.
это мой код функции:
[FunctionName("InsertEvent")]
public static void Run(
[EventHubTrigger("WaterlyNamespace",
Connection = "connectionStr")] string eventHubString,
[CosmosDB(
databaseName: "waterly_db",
collectionName: "water_table",
Id = "device_id",
ConnectionStringSetting = "conStr" )] out dynamic dbItem,
ILogger log)
{
log.LogInformation("C# trigger function processed an event from eventhub");
EventItem dataJson = JsonConvert.DeserializeObject<EventItem>(eventHubString);
//adding timestamp to event json
dataJson.timestamp = DateTime.Now;
dbItem = dataJson;
}
Это функция. json сгенерировано:
{
"generatedBy": "Microsoft.NET.Sdk.Functions-3.0.3",
"configurationSource": "attributes",
"bindings": [
{
"type": "eventHubTrigger",
"connection": "ConnectionStr",
"eventHubName": "WaterlyNamespace",
"name": "eventHubString"
}
],
"disabled": false,
"scriptFile": "../bin/Waterly-iot-functions.dll",
"entryPoint": "Waterly_iot_functions.InsertEvent.Run"
}
Это хост. json:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
}
}
},
"extensions": {
"cosmosDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
}
, и это то, что я вижу на портале Azure после публикации этого кода: См. Изображение
Любые идеи, почему триггер находится в области вывода в портал Azure, и что мне не хватает?
Любая помощь будет очень признательна. Спасибо,