Руководство. Создание рабочих процессов, обрабатывающих сообщения электронной почты с помощью Azure Logic Apps, Функции Azure и служба хранилища Azure
Область применения: Azure Logic Apps (потребление)
Azure Logic Apps дает возможность автоматизировать рабочие процессы и интегрировать данные в различные службы Azure, Майкрософт, локальные системы и другие приложения SaaS (программное обеспечение как услуга). В этом руководстве показано, как создать рабочий процесс приложения логики, который обрабатывает входящие сообщения электронной почты и любые вложения, анализирует содержимое электронной почты с помощью Функции Azure, сохраняет содержимое в хранилище Azure и отправляет сообщение электронной почты для просмотра содержимого.
В этом руководстве описано следующее:
- Настройка хранилища Azure и Обозревателя службы хранилища для проверки сохраненных электронных писем и вложений.
- Создание функции Azure, которая удаляет HTML из электронных писем. В этом руководстве содержится код, который можно использовать для этой функции.
- Создайте пустой рабочий процесс приложения логики потребления.
- Добавление триггера, который отслеживает сообщения электронной почты для вложений.
- Добавление условия, которое проверяет наличие вложений в сообщениях электронной почты.
- Добавление действия, которое вызывает функцию Azure при наличии вложения в сообщении электронной почты.
- Добавление действия, которое создает хранилище BLOB-объектов для сообщения электронной почты и вложений.
- Добавление действия, которое отправляет электронные уведомления.
На следующем снимка экрана показан рабочий процесс на высоком уровне:
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Учетная запись электронной почты от поставщика электронной почты, поддерживаемого Azure Logic Apps, например Office 365 Outlook, Outlook.com или Gmail. Сведения о дополнительных поставщиках см. в списке соединителей.
Этот рабочий процесс приложения логики использует рабочую или учебную учетную запись. Если используется другая учетная запись электронной почты, общие шаги остаются неизменными, однако интерфейс может выглядеть несколько иначе.
Примечание.
Только учетные записи для бизнеса G-Suite могут использовать соединитель Gmail без ограничений в рабочих процессах приложений логики. Если у вас есть учетная запись потребителя Gmail, вы можете использовать этот соединитель только с определенными утвержденными Google службами. Кроме того, вы можете создать клиентское приложение Google, которое будет использоваться для проверки подлинности в соединителе Gmail. Дополнительные сведения см. в статье Политики безопасности и конфиденциальности данных для соединителей Google в Azure Logic Apps.
Скачайте и установите бесплатный Обозреватель хранилищ Microsoft Azure. Это средство помогает проверить, правильно ли настроен контейнер хранилища.
Если вашему рабочему процессу необходимо взаимодействовать через брандмауэр, который ограничивает трафик определенными IP-адресами, этот брандмауэр должен разрешить доступ для как используемых входящих, так и исходящих IP-адресов службой Azure Logic Apps в регионе Azure, где существует ваш ресурс приложения логики. Если в вашем рабочем процессе также используются управляемые соединители, такие как соединитель Office 365 Outlook или соединитель SQL, или используются пользовательские соединители, брандмауэр также должен разрешить доступ для всех исходящих IP-адресов управляемого соединителя в регионе Azure вашего приложения логики.
Настройка хранилища для сохранения вложений
Входящие сообщения электронной почты и вложения можно сохранить в виде больших двоичных объектов в контейнере хранилища Azure.
В портал Azure с учетными данными учетной записи Azure создайте учетную запись хранения, если у вас еще нет учетной записи хранения, используя следующие сведения на вкладке "Основные сведения".
Свойство Значение Описание Подписка <имя-подписки-Azure> Название вашей подписки Azure Группа ресурсов <Azure-resource-group> Имя группы ресурсов Azure, используемой для упорядочения связанных ресурсов и управления ими. В этом примере используется LA-Tutorial-RG.
Примечание. Группа ресурсов существует в определенном регионе. Хотя элементы из этого руководства могут быть недоступны во всех регионах, попробуйте по возможности использовать тот же регион.Имя учетной записи хранения <Azure-storage-account-name> Имя учетной записи хранения, которое должно содержать от 3 до 24 символов и которое может включать только строчные буквы и цифры. В этом примере используется attachmentstorageacct. Регион <Azure-region> Регион для хранения сведений об учетной записи хранения. В этом примере используется регион западная часть США. Производительность Стандартные Этот параметр определяет поддерживаемые типы данных и носители для хранения данных. См. раздел Типы учетных записей хранения. Избыточность Геоизбыточное хранилище (GRS) Этот параметр позволяет хранить несколько копий данных в качестве защиты от запланированных и незапланированных событий. Дополнительные сведения см. в статье Репликация службы хранилища Azure. Учетную запись хранения также можно создать с помощью Azure PowerShell или Azure CLI.
Когда вы закончите, нажмите кнопку "Проверить>создание".
После развертывания учетной записи хранения в Azure найдите учетную запись хранения и получите ключ доступа к ней:
В меню учетной записи хранения в разделе "Безопасность и сеть" выберите ключи доступа.
Скопируйте имя учетной записи хранения и ключ key1, сохраните эти значения в безопасном месте.
Получить ключ доступа к учетной записи хранения также можно с помощью Azure PowerShell или Azure CLI.
Создайте контейнер хранилища BLOB-объектов для вложений электронной почты.
В меню учетной записи хранения в разделе хранилища данных выберите контейнеры.
На панели инструментов "Контейнеры" выберите контейнер.
В разделе "Новый контейнер" введите вложения в качестве имени контейнера. В разделе Общедоступный уровень доступа выберите Container (anonymous read access for containers and blobs) (Контейнер (анонимный доступ на чтение к контейнерам и большим двоичным объектам))>ОК.
По завершении список контейнеров теперь отображает новый контейнер хранилища.
Контейнер хранилища также можно создать с помощью Azure PowerShell или Azure CLI.
Подключите Обозреватель службы хранилища к учетной записи.
Настройка Обозревателя службы хранилища
Теперь подключите Обозреватель службы хранилища к учетной записи хранения, чтобы убедиться, что рабочий процесс может правильно сохранять вложения в виде больших двоичных объектов в контейнере хранилища.
Запустите Microsoft Azure Storage Explorer. Войдите в систему с использованием учетной записи Azure.
Примечание.
Если запрос не отображается, на панели действий Обозреватель службы хранилища выберите "Управление учетными записями" (значок учетной записи).
В окне "Выбор среды Azure" выберите среду Azure и нажмите кнопку "Далее".
Этот пример продолжается путем выбора глобального мультитенантного Azure.
В появившемся окне браузера войдите с помощью учетной записи Azure.
Вернитесь к Обозреватель службы хранилища и окне управления учетными записями и убедитесь, что выбран правильный клиент и подписка Microsoft Entra.
На панели действий Обозреватель службы хранилища выберите "Открыть диалоговое окно подключения".
В окне выбора ресурса выберите учетную запись хранения или службу.
В окне "Выбор метода подключения" выберите имя учетной записи и ключ>Далее.
В окне "Подключение к служба хранилища Azure" укажите следующие сведения и нажмите кнопку "Далее".
Свойство Значение Отображаемое имя Понятное имя подключения Имя учетной записи Имя учетной записи хранения Ключ учетной записи Ключ доступа, сохраненный ранее В окне "Сводка" подтвердите сведения о подключении и нажмите кнопку "Подключить".
Обозреватель службы хранилища создает подключение и отображает учетную запись хранения в окне обозревателя в разделе Эмулятор и присоединенные>учетные записи хранения.
Чтобы найти свой контейнер хранилища BLOB-объектов, в разделе Учетные записи хранения разверните свою учетную запись хранения attachmentstorageacct, Blob Containers (Контейнеры больших двоичных объектов), в которых находится контейнер attachments, например:
Создайте функцию Azure, которая удаляет HTML из входящей электронной почты.
Создание функции для удаления HTML
Теперь используйте фрагмент кода, предоставленный в руководстве, для создания функции Azure, которая удаляет HTML из каждого входящего сообщения электронной почты. Таким образом, содержимое электронной почты становится более простым в обработке. Затем эту функцию можно вызвать из рабочего процесса.
Прежде чем создать функцию, создайте приложение-функцию , выполнив следующие действия.
На вкладке Основные сведения укажите следующую информацию.
Свойство Значение Описание Подписка <название-вашей-подписки-Azure> Та же подписка Azure, которая использовалась ранее Группа ресурсов LA-Tutorial-RG Та же группа ресурсов Azure, которая использовалась ранее Имя приложения-функции <function-app-name> Имя приложения-функции, которое должно быть глобально уникальным в Azure. В этом примере уже используется CleanTextFunctionApp, поэтому укажите другое имя, например MyCleanTextFunctionApp-your-name<> Вы хотите развернуть код или образ контейнера? Код Публикация файлов кода. Стек среды выполнения <предпочтительный язык> Выберите среду выполнения, которая поддерживает нужный функциональный язык программирования. Редактирование на портале доступно только для скриптов JavaScript, PowerShell, TypeScript и C#. Функции библиотеки классов C#, а также функции Java и Python необходимо разрабатывать локально. Для функций C# и F# выберите .NET. Версия <номер версии> Выберите версию для установленной среды выполнения. Регион <Azure-region> Тот же регион, который вы ранее использовали. В этом примере используется регион западная часть США. Операционная система <операционная система> Операционная система предварительно выбирается на основе выбора стека среды выполнения, но вы можете выбрать операционную систему, которая поддерживает ваш любимый язык программирования функций. Редактирование на портале поддерживается только в Windows. В этом примере выбирается Windows. Варианты размещения и планы Потребление (бессерверный) Выберите план размещения, определяющий, как ресурсы выделяются приложению-функции. В плане потребления по умолчанию ресурсы добавляются динамически в соответствии с потребностями функций. При таком бессерверном размещении вы платите только за время выполнения функций. Когда выполняется план службы приложений необходимо управлять масштабированием приложения-функции. Нажмите кнопку "Далее" — хранилище. На вкладке хранилища укажите следующие сведения:
Свойство Значение Описание Учетная запись хранения cleantextfunctionstorageacct Создайте учетную запись хранения для использования приложением-функцией. Имена учетных записей хранения должны быть от 3 до 24 символов длиной и могут содержать только строчные буквы и цифры.
Примечание. Эта учетная запись хранения содержит приложения-функции и отличается от ранее созданной учетной записи хранения для вложений электронной почты. Можно также использовать существующую учетную запись при условии, что она соответствует требованиям учетной записи хранилища.Когда все будет готово, выберите Просмотр и создание. Подтвердите сведения и нажмите кнопку "Создать".
После создания и развертывания ресурса приложения-функции Azure выберите "Перейти к ресурсу".
Теперь создайте функцию локально как создание функции в портал Azure ограничено. Обязательно используйте шаблон триггера HTTP, укажите следующие сведения для функции и используйте включенный пример кода, который удаляет HTML и возвращает результаты вызывающей функции:
Свойство Значение Имя функции RemoveHTMLFunction. Уровень авторизации Function #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(@" ", " "); // Return cleaned text return (ActionResult)new OkObjectResult(new { updatedBody }); }
Чтобы протестировать функцию, можно использовать следующие примеры входных данных:
{"name": "<p><p>Testing my function</br></p></p>"}
Выходные данные функции выглядят следующим образом:
{"updatedBody":"{\"name\": \"Testing my function\"}"}
После подтверждения работы функции создайте ресурс приложения логики и рабочий процесс. Хотя в этом руководстве показано, как создать функцию, которая удаляет HTML из сообщений электронной почты, Azure Logic Apps также предоставляет соединитель HTML для текста .
Создание рабочего процесса приложения логики
В поле поиска верхнего уровня портал Azure введите приложения логики и выберите приложения логики.
На странице Logic Apps нажмите Добавить.
На странице "Создание приложения логики" в разделе "План" выберите "Потребление" в качестве типа плана, который затем отображает только параметры рабочих процессов приложения логики потребления. Укажите следующие сведения и нажмите кнопку "Проверить и создать".
Свойство Значение Описание Подписка <название-вашей-подписки-Azure> Та же подписка Azure, которая использовалась ранее Группа ресурсов LA-Tutorial-RG Та же группа ресурсов Azure, которая использовалась ранее Имя приложения логики LA-ProcessAttachment Имя приложения логики и рабочего процесса. Приложение логики потребления и рабочий процесс всегда имеют одинаковое имя. Регион Западная часть США Регион, использованный ранее Включение анализа журналов Нет В рамках этого руководства используйте параметр Отключено. Подтвердите предоставленные сведения и нажмите кнопку "Создать". После развертывания приложения в Azure выберите Перейти к ресурсу.
В меню ресурсов приложения логики выберите конструктор приложений логики, чтобы открыть конструктор рабочих процессов.
Добавление триггера для проверки входящих сообщений электронной почты
Теперь добавьте триггер , который проверяет наличие входящих сообщений электронной почты с вложениями. Каждый рабочий процесс должен начинаться с триггера, который запускается при выполнении условия триггера, например, конкретное событие происходит или когда существуют новые данные. Дополнительные сведения см . в кратком руководстве. Создание примера рабочего процесса приложения логики потребления в мультитенантных Azure Logic Apps.
В этом примере используется соединитель Office 365 Outlook, который требует входа с помощью рабочей или учебной учетной записи Майкрософт. Если вы используете личную учетную запись Майкрософт, используйте соединитель Outlook.com.
В конструкторе рабочих процессов выберите " Добавить триггер".
После открытия панели "Добавить триггер" в поле поиска введите office 365 outlook. В списке результатов триггеров в Office 365 Outlook выберите "При поступлении нового сообщения электронной почты" (версия 3).
Если вы запрашиваете учетные данные, войдите в учетную запись электронной почты, которая создает подключение между рабочим процессом и учетной записью электронной почты.
Теперь укажите условия триггера для проверки новой электронной почты и запуска рабочего процесса.
Свойство Значение Описание Важность Any Указывает уровень важности нужного сообщения электронной почты. Только с вложениями Да Получать только письма с вложениями.
Примечание. Триггер не удаляет любые электронные письма из вашей учетной записи, проверяя только новые сообщения и обрабатывая только те электронные письма, которые соответствуют фильтру темы.Включить вложения Да Получать вложения в качестве входных данных для рабочего процесса, а не просто проверять вложения. Папка Входящие Папка электронной почты для мониторинга В списке дополнительных параметров выберите "Фильтр темы".
После отображения поля фильтра темы в действии укажите тему, как описано здесь:
Свойство Значение Описание Фильтр темы Бизнес-аналитик 2 #423501 Текст для поиска в темах сообщений Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.
Рабочий процесс приложения логики теперь работает, но не выполняет никаких других проверок ваших сообщений электронной почты. Затем добавьте условие, указывающее условия для продолжения последующих действий в рабочем процессе.
Проверка вложений
Теперь добавьте условие, которое выбирает только письма с вложениями.
В разделе триггера выберите знак плюса (+), а затем нажмите кнопку "Добавить действие".
В области "Добавление действия" в поле поиска введите условие.
В списке результатов действий выберите действие с именем Условие.
Переименуйте условие с помощью лучшего описания.
- В области сведений об условии замените имя условия по умолчанию следующим описанием: если в сообщении электронной почты есть вложения и фраза ключевого субъекта.
Создайте условие, которое проверяет наличие сообщений электронной почты с вложениями.
В первой строке в списке операций "И " выберите в левом поле. В появившемся списке динамического содержимого выберите свойство С вложением.
В среднем поле укажите для оператора значение равно.
В правом поле введите true, которое является значением для сравнения со значением свойства Has Attachment , выходным результатом которого является триггер. Если оба значения равны, сообщение имеет по крайней мере одно вложение, передается условие и рабочий процесс продолжает работу.
В определении базового рабочего процесса, которое можно отобразить, выбрав представление кода в конструкторе, условие выглядит следующим образом:
"Condition": { "actions": { <actions-to-run-when-condition-passes> }, "expression": { "and": [ { "equals": [ "@triggerBody()?['HasAttachment']", "true" ] } ] }, "runAfter": {}, "type": "If" }
Сохраните результаты своих действий.
Проверка условия
На панели инструментов конструктора выберите запуск триггера>.
Этот шаг вручную запускает и запускает рабочий процесс, но ничего не произойдет, пока тестовое сообщение электронной почты не будет доставлено в папку "Входящие".
Отправьте себе сообщение электронной почты, соответствующее следующим критериям:
Тема электронного сообщения содержит текст, который указан в триггере субъекта фильтра:
Business Analyst 2 #423501
Сообщение электронной почты имеет одно вложение. Теперь создайте один пустой текстовый файл и вложите его в электронное сообщение.
При поступлении сообщения электронной почты рабочий процесс проверяет наличие вложений и указанного текста темы. Если условие проходит, триггер запускается и вызывает создание экземпляра Azure Logic Apps и запуск экземпляра рабочего процесса.
Чтобы проверить, запущен ли триггер и рабочий процесс успешно запущен, в меню приложения логики выберите "Обзор".
Чтобы просмотреть успешно запущенные триггеры, выберите журнал триггеров.
Чтобы просмотреть рабочие процессы успешного выполнения, выберите журнал запусков.
Если триггер не сработал или рабочий процесс не выполнялся, несмотря на успешный триггер, см. статью "Устранение неполадок рабочего процесса приложения логики".
Затем определите действия, выполняемые для ветви True . Чтобы сохранить сообщение электронной почты и вложения, удалите любой HTML из текста электронной почты, затем создайте большие двоичные объекты в контейнере для хранения электронной почты и вложений.
Примечание.
Рабочий процесс может оставить пустую ветвь False и не выполнять никаких действий, если в сообщении электронной почты нет вложений. В качестве бонусного упражнения после завершения работы с этим руководством вы можете добавить любое соответствующее действие, которое вы хотите принять для ветви False .
Вызов RemoveHTMLFunction
Этот шаг добавляет ранее созданную функцию Azure в рабочий процесс и передает содержимое текста электронной почты из триггера электронной почты в функцию.
В меню приложения логики выберите конструктор приложений логики. В ветви True выберите "Добавить действие".
Под полем поиска Выберите операцию щелкните Встроенные. В поле поиска введите функции Azure и выберите действие с именем "Выбрать функцию Azure".
Выберите ранее созданное приложение-функцию, которое является CleanTextFunctionApp в этом примере:
Теперь выберите функцию, которая называется RemoveHTMLFunction в этом примере.
Переименуйте фигуру функции со следующим описанием: вызов RemoveHTMLFunction для очистки текста электронной почты
Теперь укажите входные данные для обработки с помощью функции.
В разделе Текст запроса введите этот текст с пробелом в конце:
{ "emailBody":
Пока вы будете работать с этими входными данными на следующих шагах, будет отображаться сообщение об ошибке о недопустимом формате JSON. При тестировании этой функции ранее входные данные, указанные для данной функции, использовали JavaScript Object Notation (JSON). Таким образом, текст запроса должен использовать тот же формат.
Кроме того, когда ваш курсор находится внутри поля Текст запроса, появляется список динамического содержимого, поэтому вы можете выбрать значения свойств, доступные из предыдущих действий.
Из списка динамического содержимого в разделе Когда приходит новое электронное письмо выберите свойство Текст. После этого свойства не забудьте добавить закрывающую фигурную скобку (}).
После завершения входные данные функции выглядят следующим образом:
Сохраните результаты своих действий.
Затем добавьте действие, создающее большой двоичный объект в контейнере хранилища для сохранения текста электронного сообщения.
Создание большого двоичного объекта для текста электронного сообщения
В конструкторе в блоке True в функции Azure выберите "Добавить действие".
Под полем поиска Choose an operation (Выберите действие) выберите вкладку Все. В поле поиска введите создать большой двоичный объект и выберите действие "Создать большой двоичный объект".
Укажите сведения о подключении для учетной записи хранения и нажмите кнопку "Создать", например:
Свойство Значение Описание Имя подключения AttachmentStorageConnection Описательное имя для подключения Тип проверки подлинности Ключ доступа Тип проверки подлинности, используемый для подключения имя или конечная точка учетной записи служба хранилища Azure <storage-account-name> Имя ранее созданной учетной записи хранения, которая является вложениямиtorageacct для этого примера ключ доступа к учетной записи служба хранилища Azure <ключ доступа к учетной записи хранения> Ключ доступа для ранее созданной учетной записи хранения Переименуйте действие "Создать большой двоичный объект" со следующим описанием: создание большого двоичного объекта для текста электронной почты
В действии "Создание большого двоичного объекта " укажите следующие сведения:
Свойство Значение Описание Имя учетной записи хранения или конечная точка BLOB-объектов Использование параметров подключения (<имя> учетной записи хранения) Выберите учетную запись хранения, которая является вложениямиtorageacct для этого примера. Путь к папке <path-and-container-name> Путь и имя контейнера, созданные ранее. В этом примере выберите значок папки и выберите контейнер вложений . Имя BLOB-объекта <имя отправителя> В этом примере в качестве имени большого двоичного объекта используйте имя отправителя. Выберите внутри этого поля, чтобы появится динамический список содержимого. В разделе "Когда появится новое сообщение электронной почты", выберите поле "Из". Содержимое BLOB-объекта <content-for-blob> В этом примере используйте текст электронного сообщения без HTML в качестве содержимого большого двоичного объекта. Выберите внутри этого поля, чтобы появится динамический список содержимого. В разделе "Удаление вызовов RemoveHTMLFunction" для очистки текста электронной почты выберите "Текст". На следующем рисунке показаны поля, которые нужно выбрать для действия "Создать большой двоичный объект ".
После завершения действия действие выглядит следующим образом:
Сохраните результаты своих действий.
Проверка обработки вложений
На панели инструментов конструктора выберите запуск триггера>.
Этот шаг вручную запускает и запускает рабочий процесс, но ничего не произойдет, пока тестовое сообщение электронной почты не будет доставлено в папку "Входящие".
Отправьте себе сообщение электронной почты, соответствующее следующим критериям:
Тема электронного сообщения содержит текст, который указан в триггере субъекта фильтра:
Business Analyst 2 #423501
Ваше электронное сообщение содержит по крайней мере одно вложение. Теперь создайте один пустой текстовый файл и вложите его в электронное сообщение.
Ваше электронное сообщение имеет тестовое содержимое в тексте, например:
Testing my logic app workflow
Если рабочий процесс не активировался или не выполнялся, несмотря на успешный триггер, см. статью "Устранение неполадок рабочего процесса приложения логики".
Убедитесь, что рабочий процесс сохранил сообщение электронной почты в правильном контейнере хранилища.
В Обозреватель службы хранилища разверните вложения эмулятора и присоединенных> учетных>записей хранения attachmentstorageacct (Key)>BLOB-объектов.>
Проверьте контейнер электронных сообщений attachments.
На этом этапе в контейнере отображается только сообщение электронной почты, так как рабочий процесс еще не обработал вложения.
Затем удалите электронные сообщения в Обозревателе службы хранилища.
При необходимости, чтобы проверить ветвь False , которая ничего не делает в настоящее время, вы можете отправить сообщение электронной почты, которое не соответствует условиям.
Затем добавьте цикл "Для каждого цикла", чтобы обработать все вложения электронной почты.
Обработка вложений
Чтобы обработать каждое вложение в сообщении электронной почты, добавьте цикл для каждого цикла в рабочий процесс.
Вернитесь в конструктор. В разделе "Создание большого двоичного объекта для текста электронной почты" выберите " Добавить действие".
Под полем поиска Выберите операцию щелкните Встроенные. В поле поиска введите для каждого и выберите действие с именем "Для каждого".
Переименуйте цикл со следующим описанием: для каждого вложения электронной почты
Теперь выберите данные для обработки цикла. В цикле вложения для каждой электронной почты выберите в поле "Выбор выходных данных" предыдущих шагов , чтобы появится список динамического содержимого. В разделе "Когда появится новое сообщение электронной почты", выберите "Вложения".
Поле Вложения передает массив, содержащий все вложения, включенные в электронные сообщения. Цикл For each повторяет действия для каждого элемента, который передается в массив.
Сохраните результаты своих действий.
Добавьте действие, которое сохраняет каждое вложение в виде большого двоичного объекта в контейнере хранилища attachments.
Создание большого двоичного объекта для каждого вложения
В конструкторе в каждом цикле вложения электронной почты выберите "Добавить действие", чтобы указать задачу, выполняемую для каждого найденного вложения.
Под полем поиска Choose an operation (Выберите действие) выберите вкладку Все. В поле поиска введите создать большой двоичный объект и выберите действие "Создать большой двоичный объект".
Переименуйте действие Create BLOB-объект 2 со следующим описанием: создание большого двоичного объекта для каждого вложения электронной почты
В разделе "Создание большого двоичного объекта для каждого действия вложения электронной почты" укажите следующие сведения:
Свойство Значение Описание Имя учетной записи хранения или конечная точка BLOB-объектов Использование параметров подключения (<имя> учетной записи хранения) Выберите учетную запись хранения, которая является вложениямиtorageacct для этого примера. Путь к папке <path-and-container-name> Путь и имя контейнера, созданные ранее. В этом примере выберите значок папки и выберите контейнер вложений . Имя BLOB-объекта <имя вложения> В этом примере в качестве имени большого двоичного объекта используйте имя вложения. Выберите внутри этого поля, чтобы появится динамический список содержимого. В разделе "При поступлении нового сообщения электронной почты" выберите поле "Имя". Содержимое BLOB-объекта <email-content> В этом примере используйте содержимое электронной почты в качестве содержимого большого двоичного объекта. Выберите внутри этого поля, чтобы появится динамический список содержимого. В разделе " Когда поступает новое сообщение электронной почты ", выберите "Содержимое". После завершения действия действие выглядит следующим образом:
Сохраните результаты своих действий.
Проверка обработки вложений
На панели инструментов конструктора выберите запуск триггера>.
Этот шаг вручную запускает и запускает рабочий процесс, но ничего не произойдет, пока тестовое сообщение электронной почты не будет доставлено в папку "Входящие".
Отправьте себе сообщение электронной почты, соответствующее следующим критериям:
Тема электронного сообщения содержит текст, который указан в свойстве триггера Субъект фильтра:
Business Analyst 2 #423501
Ваше электронное сообщение содержит по крайней мере два вложения. Теперь создайте два пустых текстовых файла и вложите их в электронное сообщение.
Если рабочий процесс не активировался или не выполнялся, несмотря на успешный триггер, см. статью "Устранение неполадок рабочего процесса приложения логики".
Убедитесь, что рабочий процесс сохранил электронную почту и вложения в правильный контейнер хранилища.
В Обозреватель службы хранилища разверните вложения эмулятора и присоединенных> учетных>записей хранения attachmentstorageacct (Key)>BLOB-объектов.>
Проверьте электронное сообщение и вложения в контейнере attachments.
Затем удалите электронное сообщение и вложения в Обозревателе службы хранилища.
Затем добавьте действие, чтобы рабочий процесс отправил сообщение электронной почты, чтобы просмотреть вложения.
Отправка уведомлений по электронной почте
Вернитесь в конструктор. В ветви True свернуть цикл вложения для каждой электронной почты.
В цикле выберите "Добавить действие".
В поле "Выбор операции" выберите "Стандартный". В поле поиска введите отправка сообщения.
В списке действий выберите действие отправки электронной почты для поставщика электронной почты. Чтобы отфильтровать список действий на основе определенного соединителя, сначала можно выбрать соединитель.
В этом примере продолжается соединитель Office 365 Outlook, который работает только с рабочей или учебной учетной записью Azure. Для личных учетных записей Майкрософт выберите соединитель Outlook.com.
Если вы запрашиваете учетные данные, войдите в учетную запись электронной почты, чтобы Azure Logic Apps создало подключение к учетной записи электронной почты.
Переименуйте действие "Отправить сообщение электронной почты" со следующим описанием: отправка сообщения электронной почты для проверки
Укажите следующие сведения о действии и выберите поля для включения в сообщение электронной почты.
- Чтобы добавить пустые строки в поле редактирования, нажмите Shift + ВВОД.
- Если требуемое поле не удается найти в списке динамического содержимого, выберите Еще рядом с полем Когда приходит новое электронное письмо.
Свойство Значение Описание Кому <электронный адрес получателя> Для тестировании можете использовать свой собственный адрес. Тема ASAP - Review applicant for position:
ТемаТема электронного письма, которую необходимо указать. Щелкните это поле, введите текст примера и из списка динамического содержимого выберите в разделе Когда приходит новое электронное письмо поле Тема. Текст Please review new applicant:
Applicant name:
ОтApplication file location:
ПутьApplication email content:
ТекстСодержимое текста электронного сообщения. Щелкните в этом поле, введите пример текста и в списке динамического содержимого выберите следующие поля: — Поле "Из" в разделе "При поступлении
нового сообщения" — поле "Путь" в разделе "Создание большого двоичного объекта для текста
электронной почты" — поле "Текст" в разделе "Вызов RemoveHTMLFunction" для очистки текста электронной почтыПримечание.
Если выбрать поле, содержащее массив, например поле "Содержимое ", которое является массивом, содержащим вложения, конструктор автоматически добавляет цикл для каждого цикла вокруг действия, ссылающегося на это поле. Таким образом рабочий процесс может выполнить это действие для каждого элемента массива. Чтобы удалить цикл, удалите поле массива, переместите ссылочное действие за пределы цикла, нажмите кнопку с многоточием (...) на панели заголовка цикла и щелкните Удалить.
Сохраните результаты своих действий.
Теперь протестируйте рабочий процесс, который теперь выглядит следующим образом:
Запуск рабочего процесса
Отправьте электронное сообщение, которое соответствует этому критерию:
Тема электронного сообщения содержит текст, который указан в свойстве триггера Субъект фильтра:
Business Analyst 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
Запустите рабочий процесс. В случае успешного выполнения рабочий процесс отправляет сообщение электронной почты, которое выглядит следующим образом:
Если электронные сообщения не приходят, проверьте папку нежелательной почты. Фильтр нежелательной почты может перенаправлять такие виды электронных сообщений. В противном случае, если вы не уверены, что рабочий процесс запущен правильно, см. статью "Устранение неполадок рабочего процесса приложения логики".
Поздравляем, вы создали и запустите рабочий процесс, который автоматизирует задачи в разных службах Azure и вызывает некоторый пользовательский код.
Очистка ресурсов
Если этот пример больше не нужен, удалите группу ресурсов, содержащую рабочий процесс приложения логики и связанные ресурсы.
В поле поиска верхнего уровня портал Azure введите группы ресурсов и выберите группы ресурсов.
В списке Группы ресурсов выберите группу ресурсов для этого учебника.
На панели инструментов "Обзор" группы ресурсов выберите "Удалить группу ресурсов".
Когда отобразится панель подтверждения, введите имя группы ресурсов и выберите Удалить.
Следующие шаги
В этом руководстве вы создали рабочий процесс приложения логики, который обрабатывает и сохраняет вложения электронной почты путем интеграции служб Azure, таких как служба хранилища Azure и Функции Azure. Теперь узнайте больше о других соединителях, которые можно использовать для создания рабочих процессов приложения логики.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по