Базовым инструментам функций Azure не удается установить расширения, необходимые для привязок - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь запустить функцию Azure (JavaScript) локально, но происходит сбой при func start со следующей ошибкой.

AddConfig: Тип (ы) привязки «таблица» не являютсязарегистрировано.Убедитесь, что тип указан правильно, и расширение привязки установлено.

Обратите внимание, что я успешно установил предварительные требования, которые на момент написания статьи были .NET Core 2.1 , Node.JS и пакет Core Tools .

Как видно из вышеприведенной ошибки, я добавил выходную привязку для таблицы к функции .json для функции под названием AddConfig.Я добавил привязку согласно документации .

Кто-нибудь может посоветовать, чего мне здесь не хватает?

Вещи, которые я пробовал

Следуя документации

Я выполнил следующую команду в папке проекта в соответствии с документацией .

func extensions install

Это привело к следующемуoutput -

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 extensions install --package Microsoft.Azure.WebJobs.Extensions.Storage --version 3.0.3

Создание привязки на портале и копирование 'extensions.csproj'

Название говорит само за себя.Я создал приложение Function, добавил функцию, создал привязку, установил расширение, а затем скопировал / вставил extensions.csproj, но ошибка все еще сохраняется.

My 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 Ответ

0 голосов
/ 23 февраля 2019

func extensions install --package Microsoft.Azure.WebJobs.Extensions.Storage --version 3.0.3 следует исправить, попробуйте удалить папку bin obj, затем повторите команду.

func extensions install не бесполезен, дело в том, что тип привязки table отсутствует в BindingPackageMap , следовательно, расширение не установлено.У вас есть вопрос для отслеживания.

...