Как установить привязки приложений функций на свой собственный образ Docker - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь настроить приложение-функцию Azure со своим собственным образом Docker (согласно https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-linux-custom-image?tabs=nodejs)

, но я не могу понять, как установить расширение (например, CosmosDBTrigger, согласно https://docs.microsoft.com/fr-fr/azure/azure-functions/install-update-binding-extensions-manual)

Возможно ли это? Спасибо за помощь.

1 Ответ

0 голосов
/ 21 октября 2019

Если вы хотите добавить его в свой проект в Visual Studio, используйте менеджер пакетов:

Install-Package Microsoft.Azure.WebJobs.Extensions.CosmosDB -Version 3.0.4

Убедитесь, что в вашем файле .csproj есть ссылка на этот пакет:

<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.CosmosDB" Version="3.0.4" />

Если вам нужно добавить его вручную, вы можете сделать это через Kudu, к которому вы получаете доступ через https://[your -func-hostname] .scm.azurewebsites.net - Полная инструкция здесь

Добавление вручную в развернутый док-контейнер может быть достигнуто только при использовании постоянного хранилища.

Вы можете использовать параметр приложения WEBSITES_ENABLE_APP_SERVICE_STORAGE, чтобы контролировать, является ли каталог / home вашего приложениясопоставлены с хранилищем Azure. Если вам нужно, чтобы файлы сохранялись в масштабных операциях или при перезапуске, вы должны добавить этот параметр приложения и установить для него значение «true». Если вам не требуется сохранение файла, вы можете установить для этого параметра приложения значение false.

Отсутствие этого параметра приложения приведет к значению «true». Другими словами, если этот параметр приложения не существует в вашем приложении, вы увидите каталог / home, сопоставленный с хранилищем Azure. Настройка приложения будет отсутствовать, если вы создали свое приложение, когда Web App для контейнеров находилось в общедоступном предварительном просмотре, или если кто-то удалил настройку приложения.

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

Примечание. Если хранилище службы приложений не включено, любые файлы, записанные в папку / home, не будут сохраняться во всех экземплярах (в случае уменьшения масштаба) или перезапусков.

Даже если постоянство хранилища отключено, каталог / home будет сопоставлен с хранилищем Azure в контейнере Kudu (Advanced Tools). Таким образом, каталог / home / LogFiles будет сохраняться между перезапусками и операциями масштабирования в контейнере Kudu. Поэтому, если вам нужно получить журналы Docker или другие журналы, всегда используйте консоль Kudu Bash вместо SSH для доступа к контейнеру вашего приложения. (См. Это для получения дополнительной информации о том, как получить последние журналы Docker от Kudu.)

Примечание. Если вы установите этот параметр приложения в службе приложений Azure в приложении Linux с помощью встроенного образа, он будет иметьбез воздействия.

Источник: https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/#NoStorage

...