Краткое руководство. Создание рабочих процессов и управление ими с помощью Azure CLI в Azure Logic Apps

Область применения: Azure Logic Apps (потребление)

В этом кратком руководстве описывается, как создавать автоматизированные рабочие процессы, выполняемые в Azure Logic Apps, и управлять ими с помощью расширения Azure CLI для Logic Apps (az logic). В командной строке можно создать приложение логики потребления в мультитенантных Azure Logic Apps с помощью JSON-файла для определения рабочего процесса приложения логики. Затем вы можете управлять приложением логики, выполняя из командной строки такие операции, как list, show (get), update и delete.

Предупреждение

Расширение Azure CLI Logic Apps в настоящее время экспериментальное, на него не предоставляется клиентская поддержка. Используйте это расширение CLI с осторожностью, особенно в рабочих средах.

В настоящее время это краткое руководство относится только к рабочим процессам приложения логики потребления, которые выполняются в мультитенантных Azure Logic Apps. Azure CLI в настоящее время недоступно для рабочих процессов приложений логики уровня "Стандартный", которые выполняются в Azure Logic Apps с одним арендатором. Дополнительные сведения см. в разделе Различия типов ресурсов и сред размещения для Azure Logic Apps.

Если вы не работали с Azure Logic Apps, вы также можете узнать, как создать первые приложения логики уровня "Потребление" с помощью портала Azure или в Visual Studio и Visual Studio Code.

Необходимые компоненты

  • Учетная запись Azure с активной подпиской. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.

  • Azure CLI, установленный на локальном компьютере.

  • Расширение Azure CLI для Logic Apps, установленное на компьютере. Чтобы установить это расширение, используйте следующую команду: az extension add --name logic

  • Группа ресурсов Azure, в которой создается приложение логики.

Проверка необходимых компонентов

Прежде чем начать, проверьте свою среду:

Пример. Создание группы ресурсов

Если у вас еще нет группы ресурсов для приложения логики, создайте ее с помощью команды az group create. Например, следующая команда создает группу ресурсов testResourceGroup в расположении westus.

az group create --name testResourceGroup --location westus

При успешном создании группы ресурсов в выходных данных provisioningState будет отображаться значение Succeeded:

<...>
  "name": "testResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
<...>

Определение рабочего процесса

Прежде чем создать приложение логики или обновить существующее с помощью Azure CLI, вам потребуется определение рабочего процесса для приложения логики. На портале Azure можно просмотреть базовое определение рабочего процесса приложения логики в формате JSON, переключив представление Конструктор на Представление кода.

При выполнении команд для создания или обновления приложения логики определение рабочего процесса отправляется в качестве обязательного параметра (--definition). Необходимо создать определение рабочего процесса в виде JSON-файла, который следует за схемой языка определения рабочего процесса.

Создание приложений логики из CLI

Чтобы создать рабочий процесс приложения логики в Azure CLI, воспользуйтесь командой az logic workflow create с JSON-файлом для определения.

az logic workflow create --definition
                         --location
                         --name
                         --resource-group
                         [--access-control]
                         [--endpoints-configuration]
                         [--integration-account]
                         [--state {Completed, Deleted, Disabled, Enabled, NotSpecified, Suspended}]
                         [--tags]

Команда должна включать следующие обязательные параметры:

Параметр Стоимость Описание
Определение рабочего процесса --definition JSON-файл с определением рабочего процесса для приложения логики.
Расположение --location -l Регион Azure, в котором находится ваше приложение логики.
Имя. --name -n Имя приложения логики. Имя может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.). Это имя должно быть уникальным в пределах регионов.
Имя группы ресурсов --resource-group -g Группа ресурсов Azure, в которой создается приложение логики. Если для приложения логики еще не создана группа ресурсов, создайте ее прежде чем приступить к работе

Можно также включить дополнительные дополнительные параметры для настройки элементов управления доступом приложения логики, конечных точек, учетной записи интеграции, состояния и тегов ресурсов.

Пример. Создание приложения логики

В этом примере в группе ресурсов testResourceGroup в расположении westus создается рабочий процесс testLogicApp. JSON-файл testDefinition.json содержит определение рабочего процесса.

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"

После успешного создания рабочего процесса интерфейс командной строки отображает код JSON определения нового рабочего процесса. Если создание рабочего процесса завершается неудачей, ознакомьтесь со списком возможных ошибок.

Обновление приложений логики из CLI

Чтобы обновить рабочий процесс приложения логики в Azure CLI, воспользуйтесь командой az logic workflow create.

Команда должна включать те же обязательные параметры, что и при создании приложения логики. Кроме того, можно добавить те же необязательные параметры как при создании приложения логики.

az logic workflow create --definition
                         --location
                         --name
                         --resource-group
                         [--access-control]
                         [--endpoints-configuration]
                         [--integration-account]
                         [--integration-service-environment]
                         [--state {Completed, Deleted, Disabled, Enabled, NotSpecified, Suspended}]
                         [--tags]

Пример. Обновление приложения логики

В этом примере пример рабочего процесса, созданный в предыдущем разделе, обновляется для использования другого файла определения JSON (newTestDefinition.json) и добавления двух тегов ресурсов: testTag1 и testTag2 с описанием значений.

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "newTestDefinition.json" --tags "testTag1=testTagValue1" "testTag2=testTagValue"

После успешного обновления рабочего процесса интерфейс командной строки отображает определения нового рабочего процесса приложения логики. Если обновление завершается неудачей, ознакомьтесь со списком возможных ошибок.

Удаление приложений логики из CLI

Чтобы удалить рабочий процесс приложения логики в Azure CLI, воспользуйтесь командой az logic workflow delete.

Команда должна включать следующие обязательные параметры:

Параметр Стоимость Описание
Имя. --name -n Имя приложения логики.
Имя группы ресурсов -resource-group -g Группа ресурсов, в которой находится ваше приложение логики.

Также можно включить необязательный параметр, чтобы пропустить запросы на подтверждение --yes -y.

az logic workflow delete --name
                         --resource-group
                         [--yes]

Затем в интерфейсе командной строки отображается запрос на подтверждение удаления приложения логики. Запрос на подтверждение можно пропустить, используя в команде необязательный параметр --yes -y.

Are you sure you want to perform this operation? (y/n):

Чтобы подтвердить удаление приложения логики, выведите список приложений логики в CLI или просмотрите их на портале Azure.

Пример. Удаление приложения логики

В этом примере удаляется пример рабочего процесса, созданный в предыдущем разделе.

az logic workflow delete --resource-group "testResourceGroup" --name "testLogicApp"

После ответа на запрос подтверждения с y приложение логики будет удалено.

Рекомендации. Удаление приложения логики

Удаление приложения логики влияет на экземпляры рабочих процессов следующим образом:

  • Azure Logic Apps пытается отменить все выполняющиеся и ожидающие выполнения операции.

    Даже при большом объеме или невыполненной работе большинство выполнений будут отменены до их завершения или запуска. Но процесс отмены может занять некоторое время. При этом некоторые выполнения могут быть возобновлены, пока среда выполнения обрабатывает отмену.

  • Azure Logic Apps не будет создавать или выполнять новые экземпляры рабочего процесса.

  • Если удалить и повторно создать рабочий процесс, его метаданные будут отличаться от метаданных удаленного рабочего процесса. Необходимо заново сохранить любой рабочий процесс, вызвавший удаленный рабочий процесс. Так вызывающий объект получит правильные сведения о воссозданном рабочем процессе. В противном случае вызовы к повторно созданному рабочему процессу завершатся ошибкой Unauthorized. Такое поведение также применяется к рабочим процессам, использующим артефакты в учетных записях интеграции, и рабочим процессам, вызывающим функции Azure.

Отображение приложений логики в интерфейсе командной строки

Чтобы получить конкретный рабочий процесс приложения логики, воспользуйтесь командой az logic workflow show.

az logic workflow show --name
                       --resource-group

Команда должна включать следующие обязательные параметры:

Параметр Стоимость Описание
Имя. --name -n Имя приложения логики.
Имя группы ресурсов --resource-group -g Имя группы ресурсов, в которой находится ваше приложение логики.

Пример. Получение приложения логики

В этом примере приложение логики testLogicApp в группе ресурсов testResourceGroup возвращается с полными журналами для отладки.

az logic workflow show --resource-group "testResourceGroup" --name "testLogicApp" --debug

Перечисление приложений логики в интерфейсе командной строки

Чтобы вывести список приложений логики по подписке, воспользуйтесь командой az logic workflow list. Эта команда возвращает код JSON для рабочих процессов приложений логики.

Отфильтровать результаты можно по следующим необязательным параметрам:

Параметр Стоимость Описание
Имя группы ресурсов --resource-group -g Имя группы ресурсов, по которой нужно отфильтровать результаты.
Число номенклатур --top Количество элементов, которые включены в результаты.
Фильтр --filter Тип фильтра, который используется в списке. Вы можете выполнить фильтрацию по состоянию (State), триггеру (Trigger) и идентификатору ресурса, на который указывает ссылка (ReferencedResourceId).
az logic workflow list [--filter]
                       [--resource-group]
                       [--top]

Пример. Вывод приложений логики

В этом примере все включенные рабочие процессы в группе ресурсов testResourceGroup возвращаются в формате таблицы ASCII.

az logic workflow list --resource-group "testResourceGroup" --filter "(State eq 'Enabled')" --output "table"

ошибки

Указанная ниже ошибка означает, что расширение Azure Logic Apps CLI не установлено. Выполните действия, описанные в разделе с предварительными требованиями, чтобы установить расширение Logic Apps на компьютере.

az: 'logic' is not in the 'az' command group. See 'az --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit https://video2.skills-academy.com/cli/azure/azure-cli-extensions-overview

Следующая ошибка может означать, что путь к файлу для отправки определения рабочего процесса неверен.

Expecting value: line 1 column 1 (char 0)

Глобальные параметры

В командах az logic можно использовать следующие необязательные глобальные параметры Azure CLI.

Параметр Стоимость Описание
Формат вывода --output -o Изменение формата выходных данных файла JSON по умолчанию.
Отображать только ошибки --only-show-errors Отключение предупреждений и отображение только ошибок.
Подробный --verbose Отображение подробных журналов.
Отладка --debug Отображение всех журналов отладки.
Справочное сообщение --help -h Отображение диалогового окна справки.
Query --query Задание строки запроса JMESPath для выходных данных JSON.

Следующие шаги

Дополнительные сведения об Azure CLI см. в документации по Azure CLI.

Дополнительные примеры скриптов Azure CLI для Logic Apps можно найти в браузере примеров кода Майкрософт.

Затем можно создать пример логики приложения с помощью Azure CLI, используя пример скрипта и определение рабочего процесса.