Базовым инструментам функций Azure не удается установить расширения, необходимые для привязок
Я пытаюсь запустить функцию Azure (JavaScript) локально, но не удается func start
со следующей ошибкой.
AddConfig: Тип (ы) привязки "таблица" не зарегистрированы. Убедитесь, что тип указан правильно и расширение привязки установлено.
Обратите внимание, что я успешно установил предварительные условия, которые на момент написания статьи были .NET Core 2.1, Node.JS и пакет Core Tools.
Как видно из вышеприведенной ошибки, я добавил выходную привязку для таблицы в function.json для функции с именем AddConfig. Я добавил привязку согласно документации.
Кто-нибудь может посоветовать, чего мне здесь не хватает?
Вещи, которые я пробовал
Следуя документации
Я выполнил следующую команду в папке проекта согласно документации.
func extensions install
Это привело к следующему выводу -
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restoring packages for C:\super-secret-path\WitchHunt\AddConfig\extensions.csproj...
Generating MSBuild file C:\super-secret-path\WitchHunt\AddConfig\obj\extensions.csproj.nuget.g.props.
Generating MSBuild file C:\super-secret-path\WitchHunt\AddConfig\obj\extensions.csproj.nuget.g.targets.
Restore completed in 314.99 ms for C:\super-secret-path\WitchHunt\AddConfig\extensions.csproj.
extensions -> C:\super-secret-path\WitchHunt\AddConfig\bin\extensions.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.66
Команда также привела к extensions.csproj
добавляется в проект со следующим содержанием -
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<WarningsAsErrors></WarningsAsErrors>
<DefaultItemExcludes>**</DefaultItemExcludes>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.0.1" />
</ItemGroup>
</Project>
Ориентация на необходимое расширение
Я попытался установить расширение вручную, используя следующую команду. Хотя это действие сработало и привело к добавлению ссылки на пакет в extensions.csproj, повторный запуск функции приводит к той же ошибке.
Установка расширений func - пакет Microsoft.Azure.WebJobs.Extensions.Storage - версия 3.0.3
Создание привязки на портале и копирование 'extensions.csproj'
Название говорит само за себя. Я создал приложение Function, добавил функцию, создал привязку, установил расширение, а затем скопировал / вставил extensions.csproj, но ошибка по-прежнему сохраняется.
мой function.json
на тот случай, если кому-то интересно
httpTrigger
а также http
привязки - это те, которые были сгенерированы при создании функции, а table
привязка была скопирована из документации (я затем изменил tableName
а также connection
свойства, но я не думаю, что это проблема).
{
"disabled": false,
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"tableName": "WitchHuntConfig",
"connection": "AzureWebJobsStorage",
"name": "tableBinding",
"type": "table",
"direction": "out"
}
]
}
1 ответ
func extensions install --package Microsoft.Azure.WebJobs.Extensions.Storage --version 3.0.3
должен исправить, попробуйте удалить bin obj
затем снова запустите эту команду.
func extensions install
не бесполезен, дело в том, что тип привязки table
отсутствует в BindingPackageMap, следовательно, расширение не установлено. Имейте открытую проблему, чтобы отследить.