Общие сведения о Функции Azure в Visual Studio для Mac
Внимание
Visual Studio для Mac планируется выйти на пенсию 31 августа 2024 г. в соответствии с корпорацией Майкрософт Современная политика жизненного цикла. Хотя вы можете продолжать работать с Visual Studio для Mac, есть несколько других вариантов для разработчиков на Mac, таких как предварительная версия нового расширения комплекта разработки C# для VS Code.
Дополнительные сведения о поддержке временная шкала и альтернативах.
Функции Azure позволяют создавать и запускать управляемые событиями фрагменты кода (функции) в облаке без необходимости явной подготовки инфраструктуры и управления инфраструктурой. Дополнительные сведения о функциях Azure см. в документации по функциям Azure.
Требования
Средства функций Azure включены в Visual Studio для Mac 7.5 и более новых версий.
Для создания и развертывания функций необходима также подписка Azure. Если у вас нет учетной записи Azure, вы можете бесплатно зарегистрироваться прямо сегодня и бесплатно использовать популярные службы в течение 12 месяцев. Кроме того, вы получите 200 долл. США на счет и возможность работать с более чем 25 службами, которые всегда предоставляются бесплатно ->https://azure.com/free.
Создание первого проекта с функциями Azure
В Visual Studio для Mac выберите Файл > Новое решение.
В диалоговом окне нового проекта выберите шаблон "Функции Azure" в разделе Облако > Общие и нажмите кнопку Далее:
Выберите начальный шаблон функций Azure, который вы хотите использовать, введите имя функции и нажмите кнопку Далее.
Совет
Хотя пакеты среды выполнения и шаблонов функций Azure (CLI) поддерживаются в максимально актуальном состоянии, они неизбежно устаревают. При создании проекта функций Visual Studio для Mac проверка обновления интерфейса командной строки и уведомит вас, как показано на следующем рисунке. Просто нажмите кнопку, чтобы скачать обновленные шаблоны.
В зависимости от выбранного типа функции на следующей странице будет предложено указать определенные данные, например права доступа, как показано ниже.
Дополнительные сведения о различных типах шаблонов функций Azure и свойствах привязки, необходимые для настройки каждого шаблона, см. в разделе Шаблоны доступных функций. В этом примере мы используем триггер HTTP с правами доступа, установленными для анонимных.
Задав параметры, выберите расположение проекта и нажмите Создать.
Visual Studio для Mac создаст проект .NET Standard, содержащий функцию по умолчанию. Он также включает ссылки NuGet на различные пакеты AzureWebJobs, а также на пакет Newtonsoft.Json.
Новый проект содержит следующие файлы.
- Имя-вашей-функции.cs — класс, содержащий стереотипный код для выбранной вами функции. Он содержит атрибут FunctionName с именем функции и атрибут триггера, указывающий, что активирует функцию (например, HTTP-запрос). Дополнительные сведения о методе функции см. в статье Справочник разработчика C# по функциям Azure.
- host.json — этот файл описывает параметры глобальной конфигурации для узла функции. Пример файла и сведения о доступных параметрах для этого файла см. в статье Справочник по файлу host.json для функций Azure.
- local.settings.json — этот файл содержит все параметры для локального выполнения функций. Эти параметры используются в основных средствах функций Azure. Дополнительные сведения см. в разделе Файл с локальными параметрами статьи об основных инструментах службы "Функции Azure".
После создания нового проекта функций Azure в Visual Studio для Mac мы можем протестировать созданную по умолчанию функцию, активируемую по HTTP, с локального компьютера.
Тестирование функции локально
Поддержка функций Azure в Visual Studio для Mac позволяет тестировать и выполнять отладку функции на локальном компьютере разработчика.
Чтобы проверить работу локально, нажмите кнопку запуска в Visual Studio для Mac:
Запуск проекта запускает локальную отладку в функции Azure и открывает новое окно терминала, как показано на следующем рисунке:
Скопируйте URL-адрес из выходных данных.
Вставьте URL-адрес запроса в адресную строку браузера. Добавьте строку запроса
?name=<yourname>
в конец URL-адреса и выполните запрос. На следующем изображении показан ответ в браузере на локальный запрос GET, возвращаемый функцией:
Добавление в проект другой функции
Шаблоны функций позволяют быстро создавать новые функции с помощью наиболее распространенных триггеров и шаблонов. Чтобы создать другой тип функции, выполните следующие действия:
Чтобы добавить новую функцию, щелкните правой кнопкой мыши по имени проекта и выберите Добавить > Добавить функцию…:
В диалоговом окне Новая функция Azure выберите необходимую функцию:
Список шаблонов функций Azure представлен в разделе "Доступные шаблоны функций".
С помощью описанной выше процедуры вы можете добавить больше функций в проект приложения-функции. Триггеры для функций могут быть разными, но каждая функция в проекте может иметь только один триггер. См. дополнительные сведения о триггерах и привязках в Функциях Azure.
Публикация в Azure
Щелкните правой кнопкой мыши имя проекта и выберите "Опубликовать публикацию > в Azure":
Если вы уже подключили учетную запись Azure к Visual Studio для Mac, появится список доступных приложений. Если вы еще не вошли в систему, вам будет предложено это сделать.
В диалоговом окне Публикация в службу приложений Azure можно либо выбрать действующую службу приложений, либо создать новую, нажав Создать.
В диалоговом окне "Создание нового Служба приложений" введите параметры:
Параметр Description Имя службы приложений Глобально уникальное имя, определяющее новое приложение-функцию. Подписка Подписка Azure, которую нужно использовать. Группа ресурсов Имя группы ресурсов, в которой создается приложение-функция. Щелкните +, чтобы создать группу ресурсов. План обслуживания Выберите существующий план или создайте пользовательский план. Выберите Расположение в ближайшем к вам регионе или регионе, ближайшем к другим службам, к которым обращаются ваши функции. Нажмите Далее, чтобы создать учетную запись хранения. Учетная запись хранения Azure — обязательный ресурс для среды выполнения Функций. Нажмите Пользовательский, чтобы создать учетную запись хранения общего назначения, или выберите уже существующую учетную запись:
Нажмите кнопку Создать, чтобы создать приложение-функцию и связанные с ним ресурсы в Azure с заданными параметрами, а также развернуть код проекта функции.
При публикации может появиться диалоговое окно с сообщением "Обновить версию функций в Azure". Нажмите Да:
Параметры приложения-функции
Все параметры, которые вы добавили в файл local.settings.json, необходимо также добавить в приложение-функцию в Azure. Эти параметры не передаются автоматически при публикации проекта.
Чтобы открыть параметры приложения, зайдите на портал Azure по адресу https://ms.portal.azure.com/. В разделе Приложения-функции выберите Приложения-функции и выделите имя своей функции:
На вкладке Обзор выберите Дополнительные параметры в разделе Настроенные компоненты.
Здесь можно настроить параметры для приложения-функции, добавить новые или изменить уже существующие:
Один из важных параметров, который может потребоваться задать FUNCTIONS_EXTENSION_VERSION
. При публикации из Visual Studio для Mac этому параметру должно быть присвоено значение beta.
Доступные шаблоны функций
Триггер GitHub — реагирует на события, происходящие в репозиториях GitHub. Дополнительные сведения см. в статье о работе с GitHub в функциях Azure
- Комментатор GitHub — функция, которая будет запускаться и добавлять комментарий при получении веб-перехватчика GitHub для проблемы или запроса на вытягивание.
- Веб-перехватчик GitHub — функция, которая будет запускаться при получении веб-перехватчика GitHub.
HTTP — запускает выполнение кода с помощью HTTP-запроса. Существует явные шаблоны для следующих триггеров HTTP:
- Триггер HTTP
- HTTP GET создание, обновление, чтение и удаление (CRUD)
- HTTP POST CRUD
- Триггер HTTP с параметрами
Таймер — выполняет очистку или другие пакетные задачи по предопределенному расписанию. Этот шаблон имеет два поля: имя и расписание, которое представляет собой выражение CRON из шести полей. Дополнительные сведения см. в статье о работе с таймерами в Функциях Azure
Триггер очереди — это функция, которая будет отвечать на сообщения по мере их поступления в очередь служба хранилища Очереди Azure. Помимо имени функции в шаблоне необходимо указать Путь (имя очереди, из которого будут считываться сообщения) и учетную запись хранения в параметре Подключение (имя параметра приложения, содержащего строку подключения вашей учетной записи хранения). Дополнительные сведения см. в статье о работе со Хранилищем очередей в Функциях Azure.
Триггер BLOB — обрабатывает BLOB-объекты хранилища Azure при их добавлении к контейнеру. Помимо имени функции в этом шаблоне также необходимо указать путь и параметры подключения. В параметре "Путь" указывается путь в учетной записи хранения, который будет отслеживаться триггером. В качестве учетной записи подключения указывается имя параметра приложения, содержащего строку подключения вашей учетной записи хранения. Дополнительные сведения см. в статье о работе с Хранилищами BLOB-объектов в Функциях Azure.
Универсальный веб-перехватчик — это простая функция, которая будет выполняться каждый раз при получении запроса от любых служб, поддерживающих веб-перехватчики. Дополнительные сведения см. в статье о работе с универсальными веб-перехватчиками в Функциях Azure.
Оркестрация устойчивых функций — устойчивые функции позволяют записывать функции с отслеживанием состояния в бессерверной среде. Расширение автоматически управляет состоянием, создает контрольные точки и перезагружается. Дополнительные сведения см. в руководствах по устойчивым функциям.
Изменение размеров изображения — функция, которая создает изображения измененного размера при каждом добавлении BLOB-объекта в контейнер. В шаблоне необходимо указать путь и строку подключения для триггера, вывод для маленьких изображений и вывод для изображений среднего размера.
Токен SAS — функция, которая создает токен SAS для указанного контейнера и имени BLOB-объекта службы хранилища Azure. Помимо имени функции в этом шаблоне также необходимо указать путь и параметры подключения. В параметре "Путь" указывается путь в учетной записи хранения, который будет отслеживаться триггером. В качестве учетной записи подключения указывается имя параметра приложения, содержащего строку подключения вашей учетной записи хранения. Также необходимо задать права доступа. Уровень авторизации определяет, требуется ли функции ключ API, и какой ключ необходимо использовать. Функция использует ключ функции, администратор использует ключ доступа к учетной записи. Дополнительные сведения см. в функции Azure C# для создания примера маркеров SAS.