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

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

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

По завершении рабочий процесс выглядит следующим примером высокого уровня:

Снимок экрана: пример рабочего процесса потребления высокого уровня.

Совет

Чтобы узнать больше, вы можете задать Azure Copilot следующие вопросы:

  • Что такое Azure Logic Apps?
  • Что Функции Azure?
  • Что служба хранилища Azure?
  • Что такое рабочий процесс приложения логики потребления?

Чтобы найти Azure Copilot, на панели инструментов портал Azure выберите Copilot.

Вы можете создать аналогичный рабочий процесс с ресурсом приложения логики уровня "Стандартный", где некоторые операции соединителя, такие как Хранилище BLOB-объектов Azure, также доступны как встроенные операции на основе поставщика услуг. Однако действия пользователя и руководства немного отличаются от версии потребления.

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

Настройка хранилища для сохранения вложений

Следующие шаги по настройке хранилища Azure позволяют хранить входящие сообщения электронной почты и вложения в виде больших двоичных объектов.

  1. Войдите на портал Azure с помощью учетных данных учетной записи Azure.

  2. Выполните следующие действия, чтобы создать учетную запись хранения, если у вас еще нет учетной записи хранения.

    На вкладке Основные сведения укажите следующую информацию.

    Свойство Обязательное поле значение Описание
    Подписка Да <имя-подписки-Azure> Имя подписки Azure.

    В этом примере используется оплата по мере использования.
    Группа ресурсов Да <Azure-resource-group> Имя группы ресурсов Azure, используемой для упорядочения связанных ресурсов и управления ими.

    Примечание. Группа ресурсов существует в определенном регионе. Хотя элементы из этого руководства могут быть недоступны во всех регионах, попробуйте по возможности использовать тот же регион.

    В этом примере используется LA-Tutorial-RG.
    Имя учетной записи хранения Да <Azure-storage-account-name> Уникальное имя учетной записи хранения, которое должно содержать 3–24 символов и может содержать только строчные буквы и цифры.

    В этом примере используется attachmentstorageacct.
    Регион Да <Azure-region> Регион данных Azure для учетной записи хранения.

    В этом примере используется регион западная часть США.
    Основная служба No <Служба хранилища Azure> Основной тип хранилища, используемый в учетной записи хранения. Ознакомьтесь с параметрами проверки хранения данных в Azure.
    Производительность Да - Стандартные
    - Премиум
    Этот параметр определяет поддерживаемые типы данных и носители для хранения данных. См. Общие сведения об учетной записи хранения.

    В этом примере используется стандартная.
    Избыточность Да - Локально избыточное хранилище
    - Геоизбыточное хранилище (GRS)
    Этот параметр позволяет хранить несколько копий данных в качестве защиты от запланированных и незапланированных событий. Дополнительные сведения см. в статье Репликация службы хранилища Azure.

    В этом примере используется геоизбыточное хранилище (GRS).

    Учетную запись хранения также можно создать с помощью Azure PowerShell или Azure CLI.

  3. Когда вы будете готовы, нажмите кнопку "Просмотр и создание". После проверки azure сведений о ресурсе учетной записи хранения нажмите кнопку "Создать".

  4. После развертывания учетной записи хранения Azure выберите "Перейти к ресурсу". Или найдите и выберите учетную запись хранения с помощью поля поиска Azure.

  5. Получите ключ доступа учетной записи хранения, выполнив следующие действия.

    1. В меню учетной записи хранения в разделе Безопасность и сети выберите Ключи доступа.

    2. Скопируйте имя учетной записи хранения и ключ 1. Сохраните эти значения в безопасном месте для последующего использования.

    Получить ключ доступа к учетной записи хранения также можно с помощью Azure PowerShell или Azure CLI.

  6. Создайте контейнер хранилища BLOB-объектов для вложений электронной почты.

    1. В меню учетной записи хранения в разделе хранилища данных выберите контейнеры.

    2. На панели инструментов "Контейнеры" выберите контейнер.

    3. На панели "Создать контейнер" укажите следующие сведения:

      Свойство Значение Описание
      Имя attachments Имя контейнера.
      Уровень анонимного доступа Контейнер (анонимный доступ на чтение к контейнерам и большим двоичным объектам).
    4. Нажмите кнопку создания.

    После завершения списка контейнеров теперь отображается новый контейнер хранилища.

Контейнер хранилища также можно создать с помощью Azure PowerShell или Azure CLI.

Подключите Обозреватель службы хранилища к учетной записи.

Настройка Обозревателя службы хранилища

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

  1. Запустите Microsoft Azure Storage Explorer. Войдите в систему с использованием учетной записи Azure.

    Примечание.

    Если запрос не отображается, на панели действий Обозреватель службы хранилища выберите "Управление учетными записями" (значок профиля).

  2. В окне "Выбор среды Azure" выберите среду Azure и нажмите кнопку "Далее".

    Этот пример продолжается путем выбора глобального мультитенантного Azure.

  3. В появившемся окне браузера войдите с помощью учетной записи Azure.

  4. Вернитесь к Обозреватель службы хранилища и окне управления учетными записями. Убедитесь, что выбран правильный клиент и подписка Microsoft Entra.

  5. На панели действий Обозреватель службы хранилища выберите "Открыть диалоговое окно подключения".

  6. В окне выбора ресурса выберите учетную запись хранения или службу.

  7. В окне "Выбор метода подключения" выберите имя учетной записи и ключ>Далее.

  8. В окне "Подключение к служба хранилища Azure" укажите следующие сведения:

    Свойство Значение
    Отображаемое имя Понятное имя подключения
    Имя учетной записи Имя учетной записи хранения
    Ключ учетной записи Ключ доступа, сохраненный ранее
  9. Для домена хранилища убедитесь, что выбран Azure (core.windows.net) и нажмите кнопку "Далее".

  10. В окне "Сводка" подтвердите сведения о подключении и нажмите кнопку "Подключить".

    Обозреватель службы хранилища создает подключение. Учетная запись хранения отображается в окне обозревателя в разделе "Эмулятор" и "Подключенные>учетные записи хранения".

  11. Чтобы найти контейнер хранилища BLOB-объектов в разделе "Учетные записи хранения", разверните учетную запись хранения, которая является вложениямиtorageacct для этого примера. В разделе "Контейнеры BLOB-объектов", где вы найдете контейнер вложений, например:

    Снимок экрана: Обозреватель службы хранилища — поиск контейнера хранилища.

Затем создайте приложение-функцию Azure и функцию, которая удаляет HTML-код из содержимого.

Создание приложения-функции

Ниже описано, как создать функцию Azure, которая вызывает рабочий процесс для удаления HTML из входящего сообщения электронной почты.

  1. Прежде чем создать функцию, создайте приложение-функцию, выбрав план потребления и выполнив следующие действия:

    1. На вкладке Основные сведения укажите следующую информацию.

      Свойство Обязательное поле значение Описание
      Подписка Да <имя-подписки-Azure> Та же подписка Azure, которую вы ранее использовали для учетной записи хранения.
      Группа ресурсов Да <имя-группы-ресурсов-Azure> Та же группа ресурсов Azure, которую вы ранее использовали для учетной записи хранения.

      В этом примере выберите LA-Tutorial-RG.
      Имя приложения-функции Да <function-app-name> Имя приложения-функции, которое должно быть уникальным в разных регионах Azure и может содержать только буквы (без учета регистра), цифры (0–9) и дефисы (-).

      В этом примере уже используется CleanTextFunctionApp, поэтому укажите другое имя, например MyCleanTextFunctionApp-your-name<>
      Стек среды выполнения Да <язык программирования> Среда выполнения для предпочитаемого языка программирования функций. Для функций C# и F# выберите .NET.

      В этом примере используется .NET.

      Редактирование на портале доступно только для следующих языков:

      — JavaScript
      — PowerShell
      -Машинописный текст
      — скрипт C#

      Необходимо локально разрабатывать любую библиотеку классов C#, функции Java и Python.
      Версия Да <номер версии> Выберите версию для установленной среды выполнения.
      Регион Да <Azure-region> Тот же регион, который вы ранее использовали.

      В этом примере используется регион западная часть США.
      Операционная система Да <операционная система> Операционная система предварительно выбирается на основе выбора стека среды выполнения, но вы можете выбрать операционную систему, которая поддерживает ваш любимый язык программирования функций. Редактирование на портале поддерживается только в Windows.

      В этом примере выбирается Windows.
    2. Нажмите кнопку "Далее" — хранилище. На вкладке хранилища укажите следующие сведения:

      Свойство Обязательное поле значение Описание
      Учетная запись хранения Да <Azure-storage-account-name> Создайте учетную запись хранения для используемого приложения-функции. Имена учетных записей хранения должны быть от 3 до 24 символов длиной и могут содержать только строчные буквы и цифры.

      В этом примере используется cleantextfunctionstorageacct.

      Примечание. Эта учетная запись хранения содержит приложения-функции и отличается от ранее созданной учетной записи хранения для вложений электронной почты. Можно также использовать существующую учетную запись при условии, что она соответствует требованиям учетной записи хранилища.
    3. По завершении нажмите кнопку "Просмотр и создание". После проверки предоставленных сведений Azure нажмите кнопку "Создать".

    4. После развертывания ресурса приложения-функции Azure выберите "Перейти к ресурсу".

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

В следующих шагах создается функция Azure, которая удаляет HTML из каждого входящего сообщения электронной почты с помощью примера фрагмента кода. Эта функция упрощает обработку содержимого электронной почты. Эту функцию можно вызвать из рабочего процесса.

Дополнительные сведения см. в статье Создание первой функции на портале Azure. Для расширенного создания функции можно также создать функцию локально.

  1. В портал Azure откройте приложение-функцию, если оно еще не открыто.

  2. Чтобы запустить функцию позже в портал Azure, настройте приложение-функцию для явного приема запросов с портала. В меню приложения-функции в разделе API выберите CORS. В разделе "Разрешенные источники" введите https://portal.azure.comи нажмите кнопку "Сохранить".

  3. В меню приложения-функции выберите "Обзор". На вкладке "Функции" нажмите кнопку "Создать".

  4. На панели "Создание функции" выберите триггер HTTP: C#>Next.

    Примечание.

    Если вы не видите версию C#, убедитесь, что она не отображается.

  5. Укажите следующие сведения для функции и нажмите кнопку "Создать".

    Параметр Значение
    Имя функции RemoveHTMLFunction.
    Уровень авторизации Function
  6. На вкладке "Код + тест " введите следующий пример кода, который удаляет HTML и возвращает результаты вызывающей стороне.

    #r "Newtonsoft.Json"
    
    using System.Net;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Primitives;
    using Newtonsoft.Json;
    using System.Text.RegularExpressions;
    
    public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
    {
       log.LogInformation("HttpWebhook triggered");
    
       // Parse query parameter
       string emailBodyContent = await new StreamReader(req.Body).ReadToEndAsync();
    
       // Replace HTML with other characters
       string updatedBody = Regex.Replace(emailBodyContent, "<.*?>", string.Empty);
       updatedBody = updatedBody.Replace("\\r\\n", " ");
       updatedBody = updatedBody.Replace(@"&nbsp;", " ");
    
       // Return cleaned text
       return (ActionResult)new OkObjectResult(new {updatedBody});
    }
    
  7. По завершении на панели инструментов "Код + тест" нажмите кнопку "Сохранить", а затем нажмите кнопку "Тест и запуск".

  8. На вкладке "Тест и запуск" в поле "Текст" введите следующий пример входных данных и нажмите кнопку "Выполнить".

    {"name": "<p><p>Testing my function</br></p></p>"}

    Выходные данные функции выглядят следующим образом:

    {"updatedBody": "{\"name\": \"Testing my function\"}"}

После подтверждения работы функции создайте ресурс приложения логики и рабочий процесс. Хотя в этом руководстве показано, как создать функцию, которая удаляет HTML из сообщений электронной почты, Azure Logic Apps также предоставляет соединитель HTML для текста .

Создание ресурса приложения логики категории "Потребление"

  1. В поле поиска портал Azure введите приложение логики и выберите приложения логики.

  2. На панели инструментов страницы "Приложения логики" нажмите кнопку "Добавить".

    Откроется страница "Создание приложения логики" и показаны следующие параметры:

    Планирование Description
    Потребление Создает ресурс приложения логики, поддерживающий только один рабочий процесс, который выполняется в мультитенантных Azure Logic Apps и использует модель потребления для выставления счетов.
    Стандартные Создает ресурс приложения логики, поддерживающий несколько рабочих процессов. У вас есть следующие параметры:

    - План службы рабочих процессов. Рабочие процессы выполняются в azure Logic Apps с одним клиентом и используют стандартную модель для выставления счетов.

    - Среда службы приложений версии 3. Рабочие процессы выполняются в Azure Logic Apps с одним клиентом и используют план Среда службы приложений для выставления счетов.
  3. На странице "Создание приложения логики" выберите "Потребление" (мультитенантная версия).

  4. На вкладке "Основные сведения" укажите следующие сведения о ресурсе приложения логики :

    Параметр Обязательное поле значение Описание
    Подписка Да <имя-подписки-Azure> Та же подписка Azure, которую вы ранее использовали.
    Группа ресурсов Да LA-Tutorial-RG Та же группа ресурсов Azure, которую вы ранее использовали.
    Имя приложения логики Да <logic-app-name> Имя ресурса приложения логики, которое должно быть уникальным в разных регионах и может содержать только буквы, цифры, дефисы (-), подчеркивания (_), скобки (()) и периоды (.).

    В этом примере создается ресурс приложения логики с именем LA-ProcessAttachment. Приложение логики потребления и рабочий процесс всегда имеют одинаковое имя.
    Регион Да Западная часть США Тот же регион, который вы ранее использовали.
    Включение анализа журналов Да Нет Измените этот параметр, только если требуется включить ведение журнала диагностики. Для целей этого учебника оставьте выбор по умолчанию.

    Примечание. Этот параметр доступен только в приложениях логики потребления.

    Примечание.

    Зоны доступности автоматически включены для новых и существующих рабочих процессов приложения логики потребления в регионах Azure, поддерживающих зоны доступности. Дополнительные сведения см. в статье "Надежность" в Функции Azure и защита приложений логики от сбоев регионов с помощью избыточности зон и зон доступности.

  5. Когда вы будете готовы, нажмите кнопку "Просмотр и создание". После того, как Azure проверит сведения о ресурсе приложения логики, выберите Создать.

  6. После развертывания ресурса приложения логики Azure выберите "Перейти к ресурсу". Или найдите и выберите ресурс приложения логики с помощью поля поиска Azure.

Добавление триггера для отслеживания входящих сообщений электронной почты

Ниже описано, как добавить триггер, ожидающий входящих сообщений электронной почты с вложениями.

  1. В меню приложения логики в разделе "Средства разработки" выберите конструктор приложений логики.

  2. В конструкторе рабочих процессов выполните следующие общие действия, чтобы добавить триггер Outlook Office 365 с именем При поступлении нового сообщения электронной почты.

    Соединитель Office 365 Outlook требует входа с помощью рабочей или учебной учетной записи Майкрософт. Если вы используете личную учетную запись Майкрософт, используйте соединитель Outlook.com.

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

  4. В поле сведений о триггере в списке дополнительных параметров добавьте следующие параметры, если они не отображаются, и укажите следующие сведения:

    Параметр Стоимость Описание
    Важность Any Указывает уровень важности нужного сообщения электронной почты.
    Только с вложениями Да Получать только письма с вложениями.

    Примечание. Триггер не удаляет любые электронные письма из вашей учетной записи, проверяя только новые сообщения и обрабатывая только те электронные письма, которые соответствуют фильтру темы.
    Включить вложения Да Получать вложения в качестве входных данных для рабочего процесса, а не просто проверять вложения.
    Папка Входящие Папка электронной почты для проверки.
    Фильтр темы Бизнес-аналитик 2 #423501 Указывает текст, который нужно найти в теме электронной почты.

    После завершения триггер выглядит примерно так:

    Снимок экрана: рабочий процесс потребления и триггер Outlook Office 365.

  5. Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.

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

Добавление условия для проверки вложения

Ниже описано, как добавить условие, которое выбирает только сообщения электронной почты с вложениями.

  1. В конструкторе рабочих процессов выполните следующие общие действия, чтобы добавить действие Control с именем Condition.

  2. В области сведений о действии условия переименуйте действие с помощью сообщения электронной почты с вложениями и ключевой фразой субъекта.

  3. Создайте условие, которое проверяет наличие сообщений электронной почты с вложениями.

    1. На вкладке "Параметры" в первой строке в списке AND выберите в левом поле и выберите список динамического содержимого (значок молнии). В этом списке в разделе триггера выберите выходные данные has Attachment .

      Совет

      Если выходные данные "Есть вложение " не отображаются, нажмите кнопку "Дополнительные сведения".

      Снимок экрана: действие условия, вторая строка с курсором в левом поле, открытие списка динамического содержимого и выбор вложения.

    2. В среднем поле сохраните имя оператора равным.

    3. В правом поле введите true, которое является значением для сравнения со значением выходных данных Has Attachment из триггера. Если оба значения равны, сообщение имеет по крайней мере одно вложение, передается условие и рабочий процесс продолжает работу.

      Снимок экрана: полное условие.

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

    "Condition": {
       "actions": { <actions-to-run-when-condition-passes> },
       "expression": {
          "and": [ {
             "equals": [
                "@triggerBody()?['HasAttachment']",
                  "true"
             ]
          } ]
       },
       "runAfter": {},
       "type": "If"
    }
    
  4. Сохраните результаты своих действий.

Проверка условия

  1. На панели инструментов конструктора нажмите кнопку "Выполнить".>

    Этот шаг вручную запускает и запускает рабочий процесс, но ничего не происходит, пока вы не отправите тестовое сообщение электронной почты в папку "Входящие".

  2. Отправьте себе сообщение электронной почты, соответствующее следующим критериям:

    • Тема электронной почты содержит текст, указанный в фильтре темы триггера: бизнес-аналитик 2 #423501

    • Сообщение электронной почты имеет одно вложение. Теперь создайте один пустой текстовый файл и вложите его в электронное сообщение.

    При поступлении сообщения электронной почты рабочий процесс проверяет наличие вложений и указанного текста темы. Если условие проходит, триггер запускается и вызывает создание экземпляра Azure Logic Apps и запуск экземпляра рабочего процесса.

  3. Чтобы проверить, запущен ли триггер и рабочий процесс успешно запущен, в меню приложения логики выберите "Обзор".

    • Чтобы просмотреть рабочие процессы успешного выполнения, выберите журнал запусков.

    • Чтобы просмотреть успешно запущенные триггеры, выберите журнал триггеров.

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

Затем определите действия, выполняемые для ветви True . Чтобы сохранить сообщение электронной почты и вложения, удалите любой HTML из текста электронной почты, затем создайте большие двоичные объекты в контейнере для хранения электронной почты и вложений.

Примечание.

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

Вызов RemoveHTMLFunction

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

  1. В меню приложения логики в разделе "Средства разработки" выберите конструктор приложений логики. В ветви True выберите "Добавить действие".

  2. Выполните следующие общие действия, чтобы добавить действие Функции Azure с именем Выбор функции Azure.

  3. Выберите ранее созданное приложение-функцию, которое является CleanTextFunctionApp в этом примере.

  4. Выберите функцию, которая называется RemoveHTMLFunction в этом примере, а затем нажмите кнопку "Добавить действие".

  5. В области сведений о действии Функции Azure переименуйте действие с помощью вызова RemoveHTMLFunction.

  6. Теперь укажите входные данные для обработки с помощью функции.

    1. Для текста запроса введите следующий текст с конечным пробелом:

      { "emailBody":

      Пока вы будете работать с этими входными данными на следующих шагах, будет отображаться сообщение об ошибке о недопустимом формате JSON. При тестировании этой функции ранее входные данные, указанные для данной функции, использовали JavaScript Object Notation (JSON). Таким образом, текст запроса должен использовать тот же формат.

    2. Выберите внутри поля "Текст запроса", а затем выберите список динамического содержимого (значок молнии), чтобы выбрать выходные данные из предыдущих действий.

    3. В списке динамического содержимого в разделе "При поступлении нового сообщения" выберите выходные данные текста . После разрешения этого значения в поле "Текст запроса" не забудьте добавить закрывающую фигурную скобку (}).

      Снимок экрана: поле сведений о функции Azure со списком динамического содержимого и выбранным текстом.

    По завершении функция Azure выглядит следующим образом:

    Снимок экрана: завершенная функция Azure с содержимым текста запроса для передачи в функцию.

  7. Сохраните результаты своих действий.

Затем добавьте действие, которое создает большой двоичный объект для хранения текста электронной почты.

Добавление действия для создания большого двоичного объекта для текста электронной почты

Ниже описано, как создать большой двоичный объект, в который хранится текст электронной почты в контейнере хранилища.

  1. В конструкторе в блоке true условия в функции Azure выберите "Добавить действие".

  2. Выполните следующие общие действия, чтобы добавить действие Хранилище BLOB-объектов Azure с именем Create BLOB-объект.

  3. Укажите сведения о подключении для учетной записи хранения, например:

    Параметр Обязательное поле значение Описание
    Имя подключения Да <имя_соединения> Описательное имя подключения.

    В этом примере используется AttachmentStorageConnection.
    Тип проверки подлинности Да <authentication-type> Тип проверки подлинности, используемый для подключения.

    В этом примере используется ключ доступа.
    имя учетной записи или конечная точка BLOB-объектов служба хранилища Azure Да <storage-account-name> Имя ранее созданной учетной записи хранения.

    В этом примере используется attachmentstorageacct.
    ключ доступа к учетной записи служба хранилища Azure Да <ключ доступа к учетной записи хранения> Ключ доступа для ранее созданной учетной записи хранения.
  4. По завершении нажмите кнопку "Создать".

  5. В области сведений о действии создания BLOB-объектов переименуйте действие с помощью команды Create BLOB-объект для текста электронной почты.

  6. Укажите следующие сведения о действии:

    Совет

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

    Параметр Обязательное поле значение Описание
    Имя учетной записи хранения или конечная точка BLOB-объектов Да Использование параметров подключения (<storage-account-name-or-blob-endpoint>) Выберите параметр, содержащий имя учетной записи хранения.

    В этом примере используется https://attachmentstorageacct.blob.core.windows.net.
    Путь к папке Да <path-and-container-name> Путь и имя контейнера, созданные ранее.

    В этом примере выберите значок папки и выберите вложения.
    Имя BLOB-объекта Да <имя отправителя> В этом примере используйте имя отправителя в качестве имени большого двоичного объекта.

    1. Выберите внутри поля "Имя БОЛЬШОго двоичного объекта", а затем выберите параметр списка динамического содержимого (значок молнии).

    2. В разделе "При поступлении нового сообщения электронной почты " выберите "Из".
    Содержимое BLOB-объектов Да <очистка сообщения электронной почты> В этом примере используйте текст электронного сообщения без HTML в качестве содержимого большого двоичного объекта.

    1. Выберите внутри поля содержимого BLOB-объектов и выберите параметр списка динамического содержимого (значок молнии).

    2. В разделе "Вызов RemoveHTMLFunction" выберите "Текст".

    На следующем снимках экрана показаны выходные данные, которые нужно выбрать для действия создания большого двоичного объекта для текста электронной почты:

    Снимок экрана: контейнер хранилища, отправитель и текст электронной почты без HTML в действии создания BLOB-объектов.

    По завершении действия выглядит следующим образом:

    Снимок экрана: пример сведений о тексте сообщения электронной почты для готового действия

  7. Сохраните результаты своих действий.

Тестирование обработки вложений

  1. На панели инструментов конструктора нажмите кнопку "Выполнить".>

    Этот шаг вручную запускает и запускает рабочий процесс, но ничего не происходит, пока вы не отправите тестовое сообщение электронной почты в папку "Входящие".

  2. Отправьте себе сообщение электронной почты, соответствующее следующим критериям:

    • Тема электронной почты содержит текст, указанный в параметре фильтра темы триггера: Бизнес-аналитик 2 #423501

    • Ваше электронное сообщение содержит одно или несколько вложений. Теперь создайте один пустой текстовый файл и вложите его в электронное сообщение.

    • Ваш адрес электронной почты содержит некоторое тестовое содержимое в тексте, например тестирование рабочего процесса приложения логики

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

  3. Убедитесь, что рабочий процесс сохранил сообщение электронной почты в правильном контейнере хранилища.

    1. В Обозреватель службы хранилища разверните вложения эмулятора и присоединенных> учетных>записей хранения attachmentstorageacct (Key)>BLOB-объектов.>

    2. Проверьте контейнер электронных сообщений attachments.

      На этом этапе в контейнере отображается только сообщение электронной почты, так как рабочий процесс еще не обработал вложения.

      Снимок экрана: Обозреватель службы хранилища только сохраненный адрес электронной почты.

    3. По завершении удалите сообщение электронной почты в Обозреватель службы хранилища.

  4. При необходимости, чтобы проверить ветвь False , которая ничего не делает в настоящее время, вы можете отправить сообщение электронной почты, которое не соответствует условиям.

Затем добавьте цикл Для каждого цикла для обработки каждого вложения электронной почты.

Добавление цикла для обработки вложений

Следующие действия по добавлению цикла для обработки каждого вложения в сообщении электронной почты.

  1. Вернитесь в конструктор рабочих процессов. В разделе "Создание большого двоичного объекта для текста электронной почты" выберите " Добавить действие".

  2. Выполните следующие общие действия, чтобы добавить действие Control с именем For each.

  3. В области сведений о каждом действии переименуйте действие с помощью каждого вложения электронной почты.

  4. Теперь выберите содержимое для процесса цикла.

    1. В цикле вложения электронной почты выберите внутри поля "Выбор выходных данных из предыдущих шагов ", а затем выберите параметр списка динамического содержимого (значок молнии).

    2. В разделе "Когда появится новое сообщение электронной почты", выберите "Вложения".

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

      Совет

      Если вы не видите вложения, нажмите кнопку "Дополнительные сведения".

      Снимок экрана: список динамического содержимого с выбранными выходными данными с именем Вложения.

  5. Сохраните результаты своих действий.

Затем добавьте действие, которое сохраняет каждое вложение в виде большого двоичного объекта в контейнере хранилища вложений .

Добавление действия для создания большого двоичного объекта для каждого вложения

Ниже описано, как добавить действие для создания большого двоичного объекта для каждого вложения.

  1. В конструкторе в каждом цикле вложения электронной почты выберите "Добавить действие".

  2. Выполните следующие общие действия, чтобы добавить действие Хранилище BLOB-объектов Azure с именем Create BLOB-объект.

  3. В области сведений о действии создания BLOB-объектов переименуйте действие с помощью команды Create BLOB-объект для вложения электронной почты.

  4. Укажите следующие сведения о действии:

    Совет

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

    Параметр Обязательное поле значение Описание
    Имя учетной записи хранения или конечная точка BLOB-объектов Да Использование параметров подключения (<storage-account-name-or-blob-endpoint>) Выберите параметр, содержащий имя учетной записи хранения.

    В этом примере используется https://attachmentstorageacct.blob.core.windows.net.
    Путь к папке Да <path-and-container-name> Путь и имя контейнера, созданные ранее.

    В этом примере выберите значок папки и выберите вложения.
    Имя BLOB-объекта Да <имя вложения> В этом примере используйте имя вложения в качестве имени большого двоичного объекта.

    1. Выберите внутри поля "Имя БОЛЬШОго двоичного объекта", а затем выберите параметр списка динамического содержимого (значок молнии).

    2. В разделе "При поступлении нового сообщения электронной почты " выберите "Имя".
    Содержимое BLOB-объектов Да <email-content> В этом примере используйте содержимое электронной почты в качестве содержимого большого двоичного объекта.

    1. Выберите внутри поля содержимого BLOB-объектов и выберите параметр списка динамического содержимого (значок молнии).

    2. В разделе "При поступлении нового сообщения" выберите "Содержимое".

    Примечание.

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

    На следующем снимках экрана показаны выходные данные, которые необходимо выбрать для действия "Создать большой двоичный объект для вложения электронной почты".

    Снимок экрана: сведения о контейнере хранилища и вложениях в действии создания BLOB-объектов.

    По завершении действия выглядит следующим образом:

    Снимок экрана: пример сведений о вложении для готового действия

  5. Сохраните результаты своих действий.

Повторная обработка вложений

  1. На панели инструментов конструктора нажмите кнопку "Выполнить".>

    Этот шаг вручную запускает и запускает рабочий процесс, но ничего не происходит, пока вы не отправите тестовое сообщение электронной почты в папку "Входящие".

  2. Отправьте себе сообщение электронной почты, соответствующее следующим критериям:

    • Тема электронной почты содержит текст, указанный в параметре фильтра темы триггера: Бизнес-аналитик 2 #423501

    • В сообщении электронной почты есть два или более вложений. Теперь создайте два пустых текстовых файла и вложите их в электронное сообщение.

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

  3. Убедитесь, что рабочий процесс сохранил электронную почту и вложения в правильный контейнер хранилища.

    1. В Обозреватель службы хранилища разверните вложения эмулятора и присоединенных> учетных>записей хранения attachmentstorageacct (Key)>BLOB-объектов.>

    2. Проверьте электронное сообщение и вложения в контейнере attachments.

      Снимок экрана: Обозреватель службы хранилища и сохраненные сообщения электронной почты и вложения.

    3. По завершении удалите сообщение электронной почты и вложения в Обозреватель службы хранилища.

Затем добавьте действие в рабочий процесс, который отправляет сообщение электронной почты для просмотра вложений.

Добавление действия для отправки электронной почты

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

  1. Вернитесь в конструктор рабочих процессов. В ветви True в разделе "Для каждого цикла вложения электронной почты" выберите "Добавить действие".

  2. Выполните следующие общие действия, чтобы добавить действие Outlook Office 365 с именем "Отправить сообщение электронной почты".

    В этом примере продолжается соединитель Office 365 Outlook, который работает только с рабочей или учебной учетной записью Azure. Для личных учетных записей Майкрософт выберите соединитель Outlook.com.

  3. Если вы запрашиваете учетные данные, войдите в учетную запись электронной почты, чтобы Azure Logic Apps создало подключение к учетной записи электронной почты.

  4. В области отправки сведений о действии электронной почты переименуйте действие с помощью отправки сообщения электронной почты для проверки.

  5. Укажите следующие сведения о действии и выберите выходные данные для включения в сообщение электронной почты:

    Совет

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

    Параметр Обязательное поле значение Описание
    Кому Да <электронный адрес получателя> Для тестировании используйте свой собственный адрес электронной почты.
    Тема Да <тема электронной почты> Тема электронной почты, включаемая.

    В этом примере используется ASAP — проверка претендента на позицию:, и выходные данные субъекта триггера.

    1. В поле "Тема" введите пример текста с конечным пробелом.

    2. Выберите внутри поля "Тема ", а затем выберите параметр списка динамического содержимого (значок молнии).

    3. В списке в разделе "При поступлении нового сообщения" выберите "Тема".
    Текст Да <текст электронной почты> Текст сообщения электронной почты для включения.

    В примере используется проверка нового кандидата:, выходные данные триггера с именем From, Путь выходные данные из действия создания большого двоичного объекта для сообщения электронной почты и выходные данные тела из действия RemoveHTMLFunction .

    1. В поле "Текст" введите пример текста, просмотрите нового кандидата:.

    2. В новой строке введите пример текста, имя кандидата:, а затем добавьте выходные данные из триггера.

    3. В новой строке введите пример текста, расположение файла приложения:, а затем добавьте путь из действия создания БОЛЬШОго двоичного объекта для текста электронной почты.

    4. В новой строке введите пример текста, содержимого электронной почты приложения:, а затем добавьте выходные данные текста из действия RemoveHTMLFunction .

    Примечание.

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

    На следующем снимка экрана показан завершенный действие отправки электронной почты :

    Снимок экрана: пример электронной почты для отправки.

  6. Сохраните результаты своих действий.

Готовый рабочий процесс выглядит следующим образом:

Снимок экрана: завершенный рабочий процесс.

Тестирование рабочего процесса

  1. Отправьте электронное сообщение, которое соответствует этому критерию:

    • Тема электронной почты содержит текст, указанный в параметре фильтра темы триггера: Бизнес-аналитик 2 #423501

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

    • Текстом электронного сообщения будет этот текст, который можно скопировать и вставить.

      
      Name: Jamal Hartnett
      
      Street address: 12345 Anywhere Road
      
      City: Any Town
      
      State or Country: Any State
      
      Postal code: 00000
      
      Email address: jamhartnett@outlook.com
      
      Phone number: 000-000-0000
      
      Position: Business Analyst 2 #423501
      
      Technical skills: Dynamics CRM, MySQL, Microsoft SQL Server, JavaScript, Perl, Power BI, Tableau, Microsoft Office: Excel, Visio, Word, PowerPoint, SharePoint, and Outlook
      
      Professional skills: Data, process, workflow, statistics, risk analysis, modeling; technical writing, expert communicator and presenter, logical and analytical thinker, team builder, mediator, negotiator, self-starter, self-managing  
      
      Certifications: Six Sigma Green Belt, Lean Project Management
      
      Language skills: English, Mandarin, Spanish
      
      Education: Master of Business Administration
      
  2. Запустите рабочий процесс. В случае успешного выполнения рабочий процесс отправляет сообщение электронной почты, которое выглядит следующим образом:

    Снимок экрана: пример электронной почты, отправляемый рабочим процессом приложения логики.

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

Поздравляем, вы создали и запустили рабочий процесс, который автоматизирует задачи в разных службах Azure и вызывает некоторый пользовательский код!

Очистка ресурсов

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

  1. В поле поиска портал Azure введите группы ресурсов и выберите группы ресурсов.

  2. В списке Группы ресурсов выберите группу ресурсов для этого учебника.

  3. В меню группы ресурсов выберите "Обзор".

  4. На панели инструментов "Обзор" выберите "Удалить группу ресурсов".

  5. Когда отобразится панель подтверждения, введите имя группы ресурсов и выберите Удалить.

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

В этом руководстве вы создали рабочий процесс приложения логики, который обрабатывает и сохраняет вложения электронной почты путем интеграции служб Azure, таких как служба хранилища Azure и Функции Azure. Теперь узнайте больше о других соединителях, которые можно использовать для создания рабочих процессов приложения логики.