Ответ 1
Да! Хотя портал функций Azure в настоящее время не предоставляет механизма добавления и управления пакетами NuGet, среда выполнения поддерживает ссылки NuGet и будет гарантировать их правильное использование при компиляции и выполнении ваших функций.
Чтобы определить ваши зависимости, вам нужно создать файл Project.json
с необходимыми ссылками на пакеты NuGet. Вот пример, который добавляет ссылку на Microsoft.ProjectOxford.Face
версии 1.1.0:
{
"frameworks": {
"net46":{
"dependencies": {
"Microsoft.ProjectOxford.Face": "1.1.0"
}
}
}
}
Портал функций Azure предоставляет удобный способ управления файлами функций, которые мы можем использовать для создания (или загрузки) нашего project.json
:
- В разделе разработки функций, нажмите на просмотр файлов
- Нажмите на опцию, чтобы создать файл (вы также можете нажать на опцию, чтобы загрузить файл, если у вас есть ранее созданный файл
project.json
на вашем компьютере - Назовите файл
project.json
и определите ссылки на пакеты (вы можете использовать приведенный выше пример в качестве шаблона).
Начнется процесс восстановления пакета, и вы должны увидеть вывод, похожий на следующий в окне журнала:
2016-04-04T19:02:48.745 Restoring packages.
2016-04-04T19:02:48.745 Starting NuGet restore
2016-04-04T19:02:50.183 MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'.
2016-04-04T19:02:50.261 Feeds used:
2016-04-04T19:02:50.261 C:\DWASFiles\Sites\facavalfunctest\LocalAppData\NuGet\Cache
2016-04-04T19:02:50.261 https://api.nuget.org/v3/index.json
2016-04-04T19:02:50.261
2016-04-04T19:02:50.511 Restoring packages for D:\home\site\wwwroot\HttpTriggerCSharp1\Project.json...
2016-04-04T19:02:52.800 Installing Newtonsoft.Json 6.0.8.
2016-04-04T19:02:52.800 Installing Microsoft.ProjectOxford.Face 1.1.0.
2016-04-04T19:02:57.095 All packages are compatible with .NETFramework,Version=v4.6.
2016-04-04T19:02:57.189
2016-04-04T19:02:57.189
2016-04-04T19:02:57.455 Packages restored.
Как и ожидалось, среда выполнения функций Azure автоматически добавит ссылки на сборки пакета, поэтому вам НЕ нужно явно добавлять ссылки на сборки, используя #r "AssemblyName"
, вы можете просто добавить необходимые операторы using
в свою функцию и использовать определенные типы в пакете NuGet, на который вы ссылались.
Дополнительные параметры развертывания
Поскольку функции Azure построены поверх служб приложений, в качестве альтернативы вышеперечисленным шагам у вас также есть доступ ко всем замечательным вариантам развертывания, доступным для стандартных веб-приложений Azure (веб-сайты Azure).
Вот некоторые примеры:
Использование редактора сервиса приложений (Монако)
Чтобы управлять файлами напрямую из браузера с помощью редактора службы приложений (Монако):
- На портале функций Azure щелкните
Function app settings
- В разделе " Дополнительные настройки " нажмите "
Go to App Service Settings
- Нажмите на кнопку
Tools
- В разделе Разработка выберите Редактор службы приложений.
- Включите его
On
, если он еще не включен, и нажмитеGo
- Как только он загрузится, перетащите файл
project.json
в свою папку функций (папку, названную в честь вашей функции.
Использование конечной точки SCM (Kudu)
- Перейдите по
https://<function_app_name>.scm.azurewebsites.net
:https://<function_app_name>.scm.azurewebsites.net
- Нажмите на Консоль отладки> CMD
- Перейдите к
D:\home\site\wwwroot\<function_name>
- Перетащите файл
Project.json
в папку (в сетку файлов)
FTP
- Следуйте инструкциям здесь, чтобы настроить FTP
-
После подключения (следуя инструкции, приведенной выше) скопировать
Project.json
файл/site/wwwroot/<function_name>
Дополнительные параметры развертывания см. По адресу: https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/.
Непрерывная интеграция
Если вы включите непрерывную интеграцию и развернете свою функцию с файлом project.json
когда ваше Function Function не запущено, восстановление пакета произойдет автоматически после инициализации вашего Function Function. Рекомендуется, чтобы вы не добавить project.lock.json
файл в систему управления версиями.
Предварительно скомпилированные сборки
Функции также могут быть развернуты как предварительно скомпилированные сборки, и в этом случае все управление зависимостями обрабатывается в Visual Studio. Этот параметр можно использовать в качестве стандартных библиотек классов в любой версии Visual Studio или с помощью инструментов функций Visual Studio 2017 Azure.