Разработка Функции Azure локально с помощью интерфейса командной строки Функции Azure (предварительная версия)

CLI Функции Azure представляет собой следующую основную версию (v5) локальной среды выполнения для разработки и набора инструментов для Функции Azure. Эта версия func.exe включает архитектуру на основе рабочей нагрузки, поэтому вы загружаете только то, что вам нужно для стека, на который вы разрабатываете.

Important

В настоящее время Функции Azure CLI (v5) находится в предварительном просмотре. Эта предварительная версия пока не поддерживает Java и PowerShell. Чтобы работать с языками, которые в настоящее время не поддерживаются, продолжайте использовать Функции Azure Core Tools v4.

Существует два средства командной строки, которые отправляются как func.exe для Функции Azure:

Основные инструменты Функций Azure интерфейс командной строки Функции Azure
версия func.exe v4 v5
Уровень поддержки Общедоступность (GA) Preview
Размер установки Полный двоичный файл, включающий все команды и возможности для всех собственных языков. Небольшая базовая установка, а также рабочие нагрузки для каждого языка и другие функции, которые вы добавляете по мере необходимости. Хост поставляется как отдельная рабочая нагрузка, поэтому вы получаете последнюю версию хоста без повторной загрузки CLI.
Используйте, когда... Вам нужна полная поддержка общедоступной версии для всех рабочих процессов разработки. Вам нужен упрощенный интерфейс на основе рабочей нагрузки с новыми функциями, такими как шаблоны и профили быстрого запуска, которые поддерживают синхронизацию локальной среды с конфигурацией плана размещения Azure.

Справочник по командам см. в справочнике по Функции Azure CLI.

Примеры в настоящее время недоступны из-за отсутствия поддержки стека языков.

Установка интерфейса командной строки Функции Azure

Интерфейс командной строки Функции Azure распространяется как небольшая базовая установка плюс рабочие нагрузки, добавляемые для стеков, которые вы разрабатываете. После установки двоичный func файл находится на вашем компьютере PATH.

Note

Метод установки может измениться между предварительной версией и общедоступной доступностью.

iex "& { $(irm https://aka.ms/func-cli/install.ps1) } -Prerelease"

Если вы обновляете предыдущую установку, добавьте -Force (PowerShell) или --force (Bash) в команду.

Проверьте установку:

func --version

После установки базового интерфейса командной строки установите рабочие нагрузки для стека. Самый быстрый способ — func setup, который за один шаг устанавливает хост, языковой обработчик, пакеты расширений (при необходимости), рабочую нагрузку стека и рабочую нагрузку шаблонов.

Рассмотрим пример.

func setup --features dotnet
func setup --features node
func setup --features python
func setup --features go

Вы также можете установить рабочие нагрузки по отдельности с помощью func workload install. В любом случае при первом запуске func initfunc newили func run без необходимых рабочих нагрузок интерфейс командной строки предложит установить их.

Workloads

Интерфейс командной строки Функции Azure использует модель workload. Базовая func установка — небольшая и не зависящая от языка. Вы устанавливаете компоненты по мере необходимости, чтобы получить инструменты для конкретного стека, среду выполнения Functions, языковые обработчики, пакеты расширений и шаблоны.

Рабочие нагрузки делятся на следующие категории:

  • Host: среда выполнения узла Функции Azure, которая использует func run.
  • Bundles: предварительно собранные артефакты набора расширений, чтобы триггеры и привязки работали из коробки (требуется для стеков, отличных от .NET).
  • Стек: инструментарий проекта для конкретного языка (например, python, node, dotnet).
  • Рабочий процесс: язык рабочего процесса, используемый узлом во время выполнения (например, python-worker, node-worker).
  • Шаблоны: шаблоны функций, представленные func new (например, python-templates, node-templates).

Полный список доступных рабочих нагрузок и их описания см. в справочнике по cli.

Интерфейс при первом запуске

При первом запуске func init, func new или func run интерфейс командной строки проверяет, установлены ли необходимые для вашего сценария рабочие нагрузки. Если они нет, интерфейс командной строки предложит установить их. Принятие запроса устанавливает рекомендуемый набор для выбранного стека. Вы можете отказаться от запроса и установить рабочие нагрузки вручную с помощью func workload install, или запустить func setup, чтобы установить стандартный набор в неинтерактивном режиме.

Обновления рабочей нагрузки

Периодически запускайте func workload search, чтобы проверять наличие новых доступных рабочих нагрузок. Продолжайте использовать Core Tools (v4) для неподдерживаемых стеков или если вам нужны определённые функции общедоступной версии Core Tools.

Создание локального проекта

Чтобы создать проект Функций, используйте func init команду.

func init MyProjFolder --stack dotnet
func init MyProjFolder --stack node --language javascript
func init MyProjFolder --stack node --language typescript
func init MyProjFolder --stack python
func init MyProjFolder --stack go

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

Создание функции

Чтобы добавить функцию из шаблона, используйте func new команду.

func new --template "HTTP trigger" --name MyHttpTrigger

Запуск функций локально

Чтобы запустить среду выполнения Functions и выполнить проект, используйте func run:

func run

func start сохраняется как псевдоним с обратной совместимостью. Хост автоматически управляет Azurite (локальным эмулятором хранилища), если не указать --no-azurite.

Создать каркас из шаблонов быстрого старта

Чтобы просматривать и создавать каркасы полноценных примеров приложений (HTTP API, обработчиков очередей, оркестраций Устойчивые функции), используйте func quickstart:

func quickstart --stack dotnet --resource http
func quickstart --stack node --resource http
func quickstart --stack python --resource http
func quickstart --stack go --resource http

Управление рабочими нагрузками

Используется func workload для установки, обновления и удаления рабочих нагрузок. Полный список подкоманд и параметров см. в справочнике по CLI: func workload.

Profiles

Профили кодируют ограничения версий для узлов, пакетов расширений и рабочих ролей. Примените профиль во время выполнения с помощью func run --profile <name>. Полный список подкоманд и параметров см. в справочнике по CLI: func profile.