Как настроить хранение таблицы в качестве выхода в приложении Azure Function v2? - PullRequest
0 голосов
/ 16 января 2019

Я создал приложение функции на портале Azure, используя JavaScript, вот код из index.js file

module.exports = function (context, iotHubMessage) {

context.log('IotMessage ' + JSON.stringify(iotHubMessage));
var date = Date.now();
var partitionKey = Math.floor(date / (24 * 60 * 60 * 1000)) + '';
var rowKey = date + '';

context.bindings.ParamMessageLog = {
    "partitionKey": partitionKey,
    "rowKey": rowKey,
    "MsgCount": iotHubMessage.length,
    "data": JSON.stringify(iotHubMessage)
};


context.done();
};

Я также вручную установил пакет для хранения согласно инструкциям здесь

фрагмент из function.json файла

{
  "type": "table",
  "name": "ParamMessageLog",
  "tableName": "MessageLog",
  "connection": "<storage account name>_STORAGE",
  "direction": "out"
}

содержимое файла extensions.csproj указано ниже

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <WarningsAsErrors />
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventHubs" Version="3.0.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="3.0.0" />
  </ItemGroup>
</Project>

Проблема в том, что при перезапуске приложения я вижу следующую ошибку и не могу запустить / проверить функцию.

Error:
Function (PBDataGateway) Error: The binding type(s) 'eventHubTrigger, table' are not registered. Please ensure the type is correct and the binding extension is installed.

пожалуйста, совет, где мне нужно изменить. Спасибо!

1 Ответ

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

Возможно, вы пропустили этот пакет, который используется для генерации метаданных расширений.

<PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.0.*" />

После добавления этой строки повторите шаги по установке в учебнике .

...