Функции Azure со временем выполнения 2;обязательные расширения не создаются автоматически - PullRequest
0 голосов
/ 08 октября 2018

При развертывании моего проекта функции Azure в приложении Function на основе среды выполнения v2 расширения привязки, от которых зависит мой проект (хранилище Azure в моем случае), не создаются автоматически.

Я развертываю свой проект с файлом extensions.csproj в корневом каталоге, но после развертывания мне нужно вручную выполнить следующую команду, чтобы создать папку bin и obj на wwwroot.

dotnet build extensions.csproj -o bin --no-incremental --packages D:\home\.nuget

Если я правильно понимаю, это должно произойти автоматически.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Для развертывания с помощью CLI func azure functionapp publish

Инструменты ядра функций используют развертывание zip для развертывания функций, таким образом, kudu не создает проект по умолчанию ,Чтобы включить эту функцию, задайте для SCM_DO_BUILD_DURING_DEPLOYMENT значение true в параметрах приложения на портале.

Что касается значения по умолчанию, равного false, для развертывания в формате zip обычно требуется развернуть содержимое, включая все связанные файлы, следовательно, нетнеобходимо построить заново.

Для инструментов ядра функций Azure мы обычно используем команду func extensions install to зарегистрировать расширения для привязки ввода / вывода, когда расширения не устанавливаются автоматически, как мы создаем триггер из шаблона,Вот почему команда func start и func azure functionapp publish не создает extensions.csproj, расширения должны быть установлены до того, как мы запустим или опубликуем функции.

Обновление для развертывания DevOps

В конвейере Azure нам нужно собрать extensions.csporj перед архивированием файлов.Добавьте задачу сборки .NET Core, аргументы: -o bin.

Если вы хотите, чтобы kudu собрал проект, перейдите в Центр развертывания в разделе Функции платформы.Выберите VSTS в качестве репозитория CI, и kudu создаст и развернет проект для вас.

0 голосов
/ 09 октября 2018

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

Это обрабатывается пользовательской задачей сборки, добавляемой пакетом NuGet Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator, на который должна быть явно указана (это будет автоматически введено инструментами SDK / Visual Studio вбудущие обновления).

Для использования расширения CosmosDB, упомянутого в нашем предыдущем примере, необходимо выполнить следующие шаги:

1.Добавить ссылку на пакет Microsoft.Azure.WebJobs.Extensions.Storage NuGet

2.Добавить ссылку на Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator

3. Построить проект

Для более подробной информации, вы можете обратиться к этой статье .

...