azure скачать - Как я могу использовать пакеты NuGet в своих функциях Azure?




2 Answers

Да! Хотя портал Azure Functions в настоящее время не предоставляет механизм для добавления и управления пакетами NuGet, среда выполнения поддерживает ссылки NuGet и гарантирует, что они будут правильно использоваться при компиляции и выполнении ваших функций.

Чтобы определить ваши зависимости, вам необходимо создать файл Project.json с необходимыми ссылками на NuGet. Вот пример, который добавляет ссылку на Microsoft.ProjectOxford.Face версии 1.1.0:

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.ProjectOxford.Face": "1.1.0"
      }
    }
   }
}

Портал Azure Functions предоставляет удобный способ управления вашими файлами функций, которые мы можем использовать для создания (или загрузки) нашего project.json :

  1. В разделе разработки функции нажмите на файлы просмотра
  2. Нажмите на вариант создания файла (вы также можете щелкнуть по опции, чтобы загрузить файл, если у вас есть ранее созданный файл project.json на вашем компьютере
  3. Назовите файл 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 Function автоматически добавит ссылки на сборки пакетов, поэтому вам не нужно явно добавлять ссылки на сборку, используя #r "AssemblyName" , вы можете просто добавить необходимые операторы using к своей функции и использовать типы, определенные в пакете NuGet, на который вы ссылались.

Дополнительные параметры развертывания

Поскольку функции Azure построены поверх App Services, в качестве альтернативы вышеприведенным шагам вы также имеете доступ ко всем отличным вариантам развертывания, доступным для стандартных приложений Azure Web Apps (Azure Websites).

Вот некоторые примеры:

Использование редактора служебных программ (Monaco)

Чтобы управлять файлами прямо из браузера с помощью редактора служебных программ (Monaco):

  • На портале функций Azure нажмите « Function app settings
  • В разделе « Дополнительные параметры » нажмите « Go to App Service Settings
  • Нажмите кнопку « Tools
  • В разделе « Разработка» нажмите « Редактор сервисов приложений»
  • Включите его, если он еще не включен и нажмите « Go
  • Как только он загрузится, перетащите файл project.json в папку вашей функции (папка, названная в честь вашей функции.

Использование конечной точки SCM (Kudu)

  • Перейдите к: https://<function_app_name>.scm.azurewebsites.net
  • Нажмите « Консоль отладки»> CMD
  • Перейдите к D:\home\site\wwwroot\<function_name>
  • Перетащите файл Project.json в папку (в файловую сетку)

FTP

  • Следуйте инструкциям here чтобы настроить FTP.
  • После подключения (следуя инструкциям выше) скопируйте файл /site/wwwroot/<function_name> в /site/wwwroot/<function_name>

    Дополнительные параметры развертывания см. На https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/

Непрерывная интеграция

Если вы включите непрерывную интеграцию и развернете свою функцию с помощью файла project.json когда приложение-функция не запущено, восстановление пакета произойдет автоматически после инициализации вашего приложения-приложения. Рекомендуется не добавлять файл project.lock.json в исходный элемент управления.

Предварительно скомпилированные сборки

Функции также могут быть развернуты как предварительно скомпилированные сборки, и в этом случае все управление зависимостями обрабатывается в Visual Studio. Эта опция может использоваться как библиотеки стандартных классов для любой версии Visual Studio или с помощью Visual Studio 2017 Azure Functions Tools .

por functions

Используя Azure Functions , могу ли я ссылаться и использовать пакеты NuGet в моей функции C #?




Обратите внимание, что поддерживается также новый формат .csproj в Visual studio 2017. Если вы создаете свой проект в качестве веб-проекта ASPNET, во время выполнения функций Azure загружаются все пакеты нуджетов, необходимые до создания вашего проекта.




Related