0Pricing
Cloud & IT Cert Prep · Урок

Azure Logic Apps

Создайте интеграционный рабочий процесс без кода в Logic Apps: запускайте его при получении нового электронного письма, преобразуйте данные и записывайте результат в Azure SQL Database.

«Azure Logic Apps» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Что такое Azure Logic Apps

Azure Logic Apps — это платформа интеграции с минимальным объёмом кода или без кода, позволяющая визуально создавать автоматизированные рабочие процессы с помощью конструктора перетаскивания. Каждый рабочий процесс состоит из триггера (события, которое его запускает) и одного или нескольких действий (шагов, выполняющихся последовательно). Logic Apps подключается к сотням служб — Office 365, Salesforce, ServiceNow, Azure SQL, Blob Storage и многим другим — с помощью готовых соединителей, без необходимости писать интеграционный код с нуля.

Logic Apps и функции Azure

И Logic Apps, и функции Azure обеспечивают бессерверную автоматизацию на основе событий, но предназначены для разных аудиторий. Logic Apps создана для специалистов по интеграции и бизнес-аналитиков, предпочитающих визуальные рабочие процессы без кода с корпоративными соединителями. Функции Azure предназначены для разработчиков, которым необходим полный контроль над языком программирования, пользовательская бизнес-логика и меньшая задержка. Для сложной условной логики или критичных к производительности участков лучше подходят функции Azure, а для интеграции с SaaS и автоматизации бизнес-процессов — Logic Apps.

Размещение Logic Apps: Consumption и Standard

Logic Apps предлагает два плана размещения. Consumption (классический) выполняет рабочие процессы в общей многопользовательской инфраструктуре с оплатой за выполнение каждого действия — это оптимальный вариант для автоматизации, запускаемой нечасто. Standard работает в выделенной однопользовательской инфраструктуре App Service, поддерживает интеграцию с VNet, пользовательские соединители через управляемые API и несколько рабочих процессов в одном экземпляре Logic Apps. План Standard оплачивается почасово, подобно App Service. Выбирайте Standard для корпоративных рабочих процессов, которым требуется изоляция для соблюдения нормативных требований или подключение к VNet.

# Create a Consumption Logic App
az logic workflow create \
  --name MyLogicApp \
  --resource-group MyRG \
  --location eastus \
  --definition @workflow-definition.json

# Create a Standard Logic App (requires an App Service plan)
az logicapp create \
  --name MyStandardLogicApp \
  --resource-group MyRG \
  --plan MyAppServicePlan \
  --storage-account mystorageaccount

Триггеры: запуск рабочего процесса

Рабочие процессы Logic Apps начинаются с триггера, срабатывающего при определённом событии. Триггеры опроса проверяют службу через регулярные интервалы (например, триггер «При получении нового сообщения» в Outlook проверяет почту каждую минуту). Триггеры push-уведомлений используют веб-перехватчики и срабатывают сразу при возникновении события (например, «При получении HTTP-запроса»). Триггеры периодичности срабатывают по расписанию. Выходные данные триггера (тело сообщения электронной почты, полезная нагрузка HTTP-запроса) доступны всем последующим действиям рабочего процесса.

// Workflow definition snippet: HTTP trigger
{
  'definition': {
    'triggers': {
      'manual': {
        'type': 'Request',
        'kind': 'Http',
        'inputs': {
          'schema': {
            'type': 'object',
            'properties': {
              'customerName': { 'type': 'string' },
              'orderTotal': { 'type': 'number' }
            }
          }
        }
      }
    }
  }
}

Действия и соединители

Действия — это шаги, выполняющиеся после срабатывания триггера. Каждое действие использует соединитель — готовый адаптер интеграции для определённой службы или протокола. Logic Apps содержит более 400 встроенных и управляемых соединителей, включая Office 365 Outlook, SharePoint, Azure SQL Database, Salesforce, Slack, Twitter/X, SAP, а также универсальные соединители HTTP, SFTP и FTP. Управляемые соединители автоматически обрабатывают аутентификацию и управление подключениями.

// Workflow: send an email via Office 365 after HTTP trigger
// Actions section of the workflow definition:
{
  'Send_an_email': {
    'type': 'ApiConnection',
    'inputs': {
      'host': { 'connection': { 'name': '@parameters("$connections")["office365"]["connectionId"]' } },
      'method': 'post',
      'path': '/v2/Mail',
      'body': {
        'To': 'manager@contoso.com',
        'Subject': 'New Order from @{triggerBody()["customerName"]}',
        'Body': 'Order total: @{triggerBody()["orderTotal"]}'
      }
    }
  }
}

Поток управления: условия и циклы

Logic Apps поддерживает стандартные конструкции потока управления. Действия Condition создают ветвление рабочего процесса на основе выражения (например, orderTotal > 1000). Действия Switch направляют выполнение в разные ветви в зависимости от значения. Циклы For Each перебирают массив (например, обрабатывают каждое вложение в электронном письме). Циклы Until повторяют действия, пока условие не станет истинным. Все эти конструкции можно визуально настроить в конструкторе или задать в формате JSON в определении рабочего процесса.

// Condition action in workflow definition
{
  'Check_order_value': {
    'type': 'If',
    'expression': {
      'and': [{
        'greater': ['@triggerBody()["orderTotal"]', 1000]
      }]
    },
    'actions': {
      'Notify_Manager': { /* send email action */ }
    },
    'else': {
      'actions': {
        'Auto_Approve': { /* approve action */ }
      }
    }
  }
}

Выражения и функции

Logic Apps использует язык выражений для преобразования данных и обращения к ним между действиями. Выражения заключаются в @{...} и поддерживают встроенные функции для строк (concat, toLower), массивов (length, first, filter), дат (utcNow, addDays), обработки JSON и ссылок на рабочий процесс (triggerBody(), outputs('ActionName')). Эти функции вычисляются во время выполнения шага.

// Expression examples in Logic Apps actions
// Reference trigger data
'@triggerBody()["customerName"]'

// String manipulation
'@toUpper(triggerBody()["customerName"])'

// Date operations
'@addDays(utcNow(), 7)' // One week from now

// Reference previous action output
'@outputs("Get_customer")["body"]["email"]'

// Conditional expression
'@if(greater(triggerBody()["total"], 1000), "VIP", "Standard")'

Обработка ошибок: Run After и повторные попытки

У каждого действия в Logic Apps есть параметр Run After, управляющий моментом его выполнения: после успешного завершения предыдущего шага, сбоя, истечения времени ожидания или пропуска шага. Это позволяет надёжно обрабатывать ошибки: добавьте действие компенсации или оповещения, которое будет запускаться только при сбое предыдущего шага. Для каждого действия также можно настроить политики повторных попыток (фиксированный интервал или экспоненциальное увеличение интервала), чтобы автоматически обрабатывать временные сбои последующих служб.

// Action that runs only when a previous action fails
{
  'Send_failure_alert': {
    'type': 'ApiConnection',
    'runAfter': {
      'Process_order': ['Failed', 'TimedOut']
    },
    'inputs': { /* Teams notification */ },
    'operationOptions': 'DisableAsyncPattern',
    'runtimeConfiguration': {
      'staticResult': null
    }
  }
}

Интеграция со службами Azure

Logic Apps напрямую интегрируется с основными службами Azure, используя их и как триггеры, и как действия. Вы можете запустить рабочий процесс при добавлении большого двоичного объекта в контейнер хранилища, записать результаты в Azure SQL Database, отправить сообщение в Azure Service Bus, вызвать функцию Azure для выполнения пользовательской логики или записать результаты в рабочую область Log Analytics. Благодаря этому Logic Apps служит эффективным уровнем оркестрации, объединяющим специализированные службы Azure без пользовательского кода.

// Azure Blob trigger + SQL Database action pattern
// Trigger: 'When a blob is added or modified'
// Action 1: Read blob contents
// Action 2: Parse CSV/JSON body
// Action 3: 'Insert row' into Azure SQL Database
// Action 4: 'Delete blob' from source container
// Action 5: Send success notification email
//
// No custom code required for this common ETL pattern

Мониторинг и история запусков

Каждый запуск рабочего процесса Logic Apps записывается в историю запусков, доступную на портале Azure. Вы можете просмотреть входные и выходные данные, длительность и сообщения об ошибках каждого запуска на уровне отдельного действия, что упрощает отладку. Включите журналирование диагностики, чтобы отправлять историю запусков и журналы триггеров в рабочую область Log Analytics для долгосрочного анализа и настройки оповещений. Настройте оповещения Azure Monitor по метрике RunsFailed, чтобы выявлять неисправные рабочие процессы.

# Enable diagnostic logging for a Logic App
az monitor diagnostic-settings create \
  --resource '/subscriptions/.../providers/Microsoft.Logic/workflows/MyLogicApp' \
  --name 'LogAnalyticsLogs' \
  --workspace /subscriptions/.../workspaces/MyLogAnalytics \
  --logs '[{"category": "WorkflowRuntime", "enabled": true, "retentionPolicy": {"days": 30, "enabled": true}}]'

Когда выбирать Logic Apps

Выбирайте Logic Apps для интеграции SaaS- и корпоративных приложений (Salesforce, SAP, ServiceNow), автоматизации бизнес-процессов с рабочими процессами согласования, конвейеров ETL, запускаемых при загрузке файлов, рабочих процессов уведомлений и оповещений, а также сценариев, в которых пользователям без навыков разработки (бизнес-аналитикам) нужно изменять этапы рабочего процесса без написания кода. Не используйте Logic Apps для высокочастотных сценариев с малой задержкой (вместо этого используйте Azure Functions) или если Вам нужны сложные программные конструкции, недоступные в языке выражений.

Быстрая проверка

Проверьте, насколько хорошо Вы понимаете концепции Microsoft Azure Fundamentals (AZ-900) из этого урока.

Итоги урока

В этом уроке Вы узнали, что Azure Logic Apps обеспечивает автоматизацию рабочих процессов с минимальным объёмом кода и более чем 400 готовыми соединителями, параметры Run After позволяют детально обрабатывать ошибки для каждого действия, а Logic Apps особенно хорошо подходит для интеграции SaaS и автоматизации бизнес-процессов, где пользователям без навыков разработки нужно изменять рабочие процессы. Далее мы рассмотрим Event Grid и архитектуру, управляемую событиями.

Часто задаваемые вопросы

Урок «Azure Logic Apps» бесплатный?

Да — полный текст урока «Azure Logic Apps» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Чему я научусь в уроке «Azure Logic Apps»?

Создайте интеграционный рабочий процесс без кода в Logic Apps: запускайте его при получении нового электронного письма, преобразуйте данные и записывайте результат в Azure SQL Database. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?

Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Azure Logic Apps»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?

Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Триггеры и привязки Azure Functions
  2. Durable Functions для рабочих процессов с состоянием
  3. Azure Logic Apps
  4. Event Grid и событийная архитектура
← Назад к Cloud & IT Cert Prep