Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Logic Apps (потребление)
В этом руководстве показано, как создать пример рабочего процесса, который интегрирует Функции Azure и служба хранилища Azure с помощью Azure Logic Apps. В этом примере создается рабочий процесс приложения логики потребления, который обрабатывает входящие сообщения электронной почты и любые вложения, анализирует содержимое электронной почты с помощью Функции Azure, сохраняет содержимое в хранилище Azure и отправляет сообщение электронной почты для просмотра содержимого.
По завершении рабочий процесс выглядит следующим примером высокого уровня:
Совет
Чтобы узнать больше, вы можете задать Azure Copilot следующие вопросы:
- Что такое Azure Logic Apps?
- Что такое Функции Azure?
- Что такое хранилище Azure?
- Что такое рабочий процесс приложения логики потребления?
Чтобы найти Azure Copilot, на панели инструментов портал Azure выберите Copilot.
Вы можете создать аналогичный рабочий процесс с ресурсом приложения логики уровня Standard, где некоторые операции соединителя, такие как Azure Blob Storage, также доступны как встроенные операции на основе поставщиков услуг. Однако пользовательский интерфейс и учебные шаги немного отличаются от версии для использования.
Предварительные требования
Учетная запись и подписка Azure. Получите бесплатную учетную запись Azure.
Учетная запись электронной почты от поставщика электронной почты, поддерживаемого Azure Logic Apps, например Office 365 Outlook, Outlook.com или Gmail. Сведения о других поддерживаемых поставщиках электронной почты см. в разделе "Соединители" для Azure Logic Apps.
В этом примере используется Office 365 Outlook с рабочей или учебной учетной записью. Если вы используете другую учетную запись электронной почты, общие действия остаются неизменными, но взаимодействие с пользователем может немного отличаться. Если вы используете Outlook.com, используйте личную учетную запись Майкрософт для входа.
Примечание.
Если вы хотите использовать коннектор Gmail, только бизнес-аккаунты G-Suite могут использовать этот коннектор без ограничений в рабочих процессах приложений логики. Если у вас есть учетная запись потребителя Gmail, вы можете использовать этот соединитель только с определенными утвержденными Google службами. Кроме того, вы можете создать клиентское приложение Google, которое будет использоваться для проверки подлинности в соединителе Gmail. Дополнительные сведения см. в статье Политики безопасности и конфиденциальности данных для соединителей Google в Azure Logic Apps.
Скачайте и установите бесплатный Обозреватель хранилищ Microsoft Azure. Это средство помогает проверить, правильно ли настроен контейнер хранилища.
Если вашему рабочему процессу необходимо взаимодействовать через брандмауэр, который ограничивает трафик определенными IP-адресами, этот брандмауэр должен разрешить доступ для как используемых входящих, так и исходящих IP-адресов службой Azure Logic Apps в регионе Azure, где существует ваш ресурс приложения логики. Если в вашем рабочем процессе также используются управляемые соединители, такие как соединитель Office 365 Outlook или соединитель SQL, или используются пользовательские соединители, брандмауэр также должен разрешить доступ для всехисходящих IP-адресов управляемого соединителя в регионе Azure вашего приложения логики.
Настройка хранилища для сохранения вложений
Следующие шаги по настройке хранилища Azure позволяют хранить входящие сообщения электронной почты и вложения в виде BLOB.
Войдите на портал Azure с помощью учетных данных учетной записи Azure.
Выполните следующие действия, чтобы создать учетную запись хранения, если она у вас еще не создана.
На вкладке Основные сведения укажите следующую информацию.
Свойство Обязательное поле значение Описание Подписка Да < имя-подписки-Azure> Имя подписки Azure.
В этом примере используется оплата по мере использования.Группа ресурсов Да < Azure-resource-group> Имя группы ресурсов Azure, используемой для упорядочения связанных ресурсов и управления ими.
Примечание. Группа ресурсов существует в определенном регионе. Хотя элементы из этого руководства могут быть недоступны во всех регионах, попробуйте по возможности использовать тот же регион.
В этом примере используется LA-Tutorial-RG.Имя учетной записи хранения Да < Имя учетной записи хранения Azure> Уникальное имя учетной записи хранения, которое должно содержать 3–24 символов и может содержать только строчные буквы и цифры.
В этом примере используется attachmentstorageacct.Регион Да < Azure-region> Регион данных Azure для вашего аккаунта хранения.
В этом примере используется регион западная часть США.Основная служба нет < Служба хранилища Azure> Основной тип хранилища, используемый в учетной записи хранения. Ознакомьтесь с параметрами проверки хранения данных в Azure. Производительность Да - Стандарт
- ПремиумЭтот параметр определяет поддерживаемые типы данных и носители для хранения данных. См. Общие сведения об учетной записи хранения.
В этом примере используется Standard.Избыточность Да - Локально избыточное хранилище
- Геоизбыточное хранилище (GRS)Этот параметр позволяет хранить несколько копий данных в качестве защиты от запланированных и незапланированных событий. Дополнительные сведения см. в статье Репликация службы хранилища Azure.
В этом примере используется геоизбыточное хранилище (GRS).Учетную запись хранения также можно создать с помощью Azure PowerShell или Azure CLI.
Когда вы будете готовы, нажмите кнопку "Просмотр и создание". После проверки azure сведений о ресурсе учетной записи хранения нажмите кнопку "Создать".
После развертывания учетной записи хранения Azure выберите "Перейти к ресурсу". Или найдите и выберите учетную запись хранения с помощью поля поиска Azure.
Получите ключ доступа учетной записи хранения, выполнив следующие действия.
В меню учетной записи хранения в разделе Безопасность и сети выберите Ключи доступа.
Скопируйте имя учетной записи хранения и ключ 1. Сохраните эти значения в безопасном месте для последующего использования.
Получить ключ доступа к учетной записи хранения также можно с помощью Azure PowerShell или Azure CLI.
Создайте контейнер облачного хранилища BLOB для вложений электронной почты.
В меню учетной записи хранения в разделе хранилища данных выберите контейнеры.
На панели инструментов "Контейнеры" выберите контейнер.
На панели "Создать контейнер" укажите следующие сведения:
Свойство значение Описание Имя Вложения Имя контейнера. Уровень анонимного доступа Контейнер (анонимный доступ для чтения к контейнерам и блобам). Нажмите кнопку создания.
После завершения процесса, в списке контейнеров теперь отображается новый контейнер хранилища.
Контейнер хранилища также можно создать с помощью Azure PowerShell или Azure CLI.
Затем подключите Storage Explorer к вашей учетной записи хранения.
Настройка Обозревателя хранилища
В следующих шагах Storage Explorer подключается к вашей учетной записи хранения, чтобы убедиться, что рабочий процесс правильно сохраняет вложения в виде блобов в вашем контейнере хранилища.
Запустите Microsoft Azure Storage Explorer. Войдите в систему с использованием учетной записи Azure.
Примечание.
Если запрос не отображается, на панели действий Обозревателя хранилища выберите «Управление учетными записями» (значок профиля).
В окне "Выбор среды Azure" выберите среду Azure и нажмите кнопку "Далее".
Этот пример продолжается путем выбора глобального мультитенантного Azure.
В появившемся окне браузера войдите с помощью учетной записи Azure.
Вернитесь в обозреватель службы хранилища и окно управления учетными записями. Убедитесь, что выбран правильный клиент и подписка Microsoft Entra.
На панели действий Обозреватель хранилища выберите Открыть диалоговое окно подключения.
В окне выбора ресурса выберите учетную запись хранения или службу.
В окне "Выбор метода подключения" выберите имя учетной записи и ключ>Далее.
В окне «Подключение к хранилищу Azure» укажите следующие сведения:
Свойство значение Отображаемое имя Дружественное имя для вашего подключения Имя учетной записи Имя учетной записи хранения Ключ учетной записи Ключ доступа, сохраненный ранее Для домена хранилища убедитесь, что выбран Azure (core.windows.net) и нажмите кнопку "Далее".
В окне "Сводка" подтвердите сведения о подключении и нажмите кнопку "Подключить".
Storage Explorer устанавливает соединение. Учетная запись хранения отображается в окне обозревателя в разделе Эмулятор и Подключенные>учетные записи хранения.
Чтобы найти контейнер хранилища BLOB-объектов под Учетные записи хранения, разверните вашу учетную запись хранения, которая является attachmentstorageacct для этого примера. В разделе Blob Containers, где вы найдете контейнер attachments, например:
Затем создайте приложение-функцию Azure и функцию, которая удаляет HTML-код из содержимого.
Создание функционального приложения
Ниже описано, как создать функцию Azure, которая вызывает рабочий процесс для удаления HTML из входящего сообщения электронной почты.
Прежде чем создать функцию, создайте приложение-функцию, выбрав план потребления и выполнив следующие действия:
На вкладке Основные сведения укажите следующую информацию.
Свойство Обязательное поле значение Описание Подписка Да < имя-подписки-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.Нажмите кнопку "Далее" — хранилище. На вкладке хранилища укажите следующие сведения:
Свойство Обязательное поле значение Описание Учетная запись хранения Да < Имя учетной записи хранения Azure> Создайте учетную запись хранения для используемого приложения-функции. Имена учетных записей хранения должны быть от 3 до 24 символов длиной и могут содержать только строчные буквы и цифры.
В этом примере используется cleantextfunctionstorageacct.
Примечание. Эта учетная запись хранения содержит приложения-функции и отличается от ранее созданной учетной записи хранения для вложений электронной почты. Можно также использовать существующую учетную запись при условии, что она соответствует требованиям учетной записи хранилища.По завершении нажмите кнопку "Просмотр и создание". После проверки предоставленных сведений Azure нажмите кнопку "Создать".
После развертывания ресурса функционального приложения Azure выберите "Перейти к ресурсу".
Создание функции для удаления HTML
Ниже описано, как создать функцию Azure в C#, которая удаляет HTML из каждой входящей электронной почты с помощью примера фрагмента кода. Эта функция упрощает обработку содержимого электронной почты. Эту функцию можно вызвать из рабочего процесса.
На портале Azure откройте свое функциональное приложение, если оно еще не открыт.
Чтобы запустить функцию позже в портал Azure, настройте приложение-функцию для явного приема запросов с портала. В меню приложения-функции в разделе API выберите CORS. В разделе "Разрешенные источники" введите
https://portal.azure.comи нажмите кнопку "Сохранить".В меню приложения-функции выберите "Обзор". На вкладке "Функции" нажмите кнопку "Создать".
Примечание.
Если кнопка "Создать " не отображается, необходимо создать функцию локально.
Выполните следующие универсальные действия, чтобы создать функцию в C# с помощью шаблона триггера HTTP и укажите следующие сведения для функции:
Параметр значение Имя функции RemoveHTMLFunction. Уровень авторизации Функция На вкладке "Код + тест " введите следующий пример кода C#, который удаляет 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(@" ", " "); // 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 введите логическое приложение, и выберите Логические приложения.
На панели инструментов страницы "Приложения логики" нажмите кнопку "Добавить".
Откроется страница "Создание логического приложения" и отображает следующие параметры:
Планирование Описание Потребление Создает ресурс приложения логики, поддерживающий только один рабочий процесс, который выполняется в мультитенантных Azure Logic Apps и использует модель потребления для выставления счетов. Стандартные Создает ресурс приложения логики, поддерживающий несколько рабочих процессов. У вас есть следующие параметры:
- План службы рабочих процессов. Рабочие процессы выполняются в azure Logic Apps с одним клиентом и используют стандартную модель для выставления счетов.
- Среда службы приложений V3: Рабочие процессы выполняются в однопользовательских Azure Logic Apps и используют план App Service Environment для выставления счетов.
- Гибридная среда. Рабочие процессы выполняются локально и в нескольких облаках с помощью автомасштабирования на основе событий Kubernetes (KEDA). Дополнительные сведения см. в статье "Создание стандартных рабочих процессов для гибридного развертывания".На странице "Создание логического приложения" выберите "Потребление (Многопользовательская среда)".
На вкладке "Основные сведения" укажите следующие сведения о ресурсе вашего Logic App:
Параметр Обязательное поле значение Описание Подписка Да < имя-подписки-Azure> Та же подписка Azure, которую вы ранее использовали. Группа ресурсов Да LA-Tutorial-RG Та же группа ресурсов Azure, которую вы ранее использовали. Имя приложения логики Да < logic-app-name> Имя ресурса приложения логики, которое должно быть уникальным в разных регионах и может содержать только буквы, цифры, дефисы (-), подчеркивания (_), скобки (()) и периоды (.).
В этом примере создается ресурс приложения логики с именем LA-ProcessAttachment. Приложение логики потребления и рабочий процесс всегда имеют одинаковое имя.Регион Да Западная часть США Тот же регион, который вы ранее использовали. Включение анализа журналов Да Нет Измените этот параметр, только если требуется включить ведение журнала диагностики. Для целей этого учебника оставьте выбор по умолчанию.
Примечание. Этот параметр доступен только в приложениях логики потребления.Примечание.
Зоны доступности автоматически включены для новых и существующих рабочих процессов приложения логики потребления в регионах Azure, поддерживающих зоны доступности. Дополнительные сведения см. в статье Надежность в Azure Functions и защита логических приложений от сбоев в регионах с избыточностью по зонам и зонами доступности.
Когда вы будете готовы, нажмите кнопку "Просмотр и создание". После того, как Azure проверит сведения о ресурсе приложения логики, выберите Создать.
После развертывания ресурса логического приложения Azure выберите Перейти к ресурсу. Или найдите и выберите ресурс приложения логики с помощью поля поиска Azure.
Добавление триггера для отслеживания входящих сообщений электронной почты
Ниже описано, как добавить триггер, ожидающий входящих сообщений электронной почты с вложениями.
В меню приложения логики в разделе "Средства разработки" выберите конструктор приложений логики.
В конструкторе рабочих процессов выполните следующие общие действия, чтобы добавить триггер Office 365 Outlook с именем При поступлении нового сообщения электронной почты.
Соединитель Office 365 Outlook требует входа с помощью рабочей или учебной учетной записи Майкрософт. Если вы используете личную учетную запись Майкрософт, используйте соединитель Outlook.com.
Войдите в учетную запись электронной почты, которая создает подключение между рабочим процессом и учетной записью электронной почты.
В поле сведений о триггере в списке дополнительных параметров добавьте следующие параметры, если они не отображаются, и укажите следующие сведения:
Параметр значение Описание Важность Любой Указывает уровень важности нужного сообщения электронной почты. Только с вложениями Да Получать только письма с вложениями.
Примечание. Триггер не удаляет любые электронные письма из вашей учетной записи, проверяя только новые сообщения и обрабатывая только те электронные письма, которые соответствуют фильтру темы.Включить вложения Да Получайте вложения как входные данные для рабочего процесса, а не просто проверяйте их. Папка Входящие Папка электронной почты для проверки. Фильтр темы Бизнес-аналитик 2 #423501 Указывает текст, который нужно найти в теме электронной почты. После завершения триггер выглядит примерно так:
Сохраните ваш рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Рабочий процесс теперь работает, но не делает ничего, кроме проверки ваших сообщений электронной почты. Затем добавьте условие, указывающее условия для продолжения последующих действий в рабочем процессе.
Добавление условия для проверки вложения
Ниже описано, как добавить условие, которое выбирает только сообщения электронной почты с вложениями.
В конструкторе рабочих процессов выполните следующие общие действия, чтобы добавить действие Control с именем Condition.
В области сведений о действии условия переименуйте действие в Если у электронной почты есть вложения и ключевая фраза в теме.
Создайте условие, которое проверяет наличие сообщений электронной почты с вложениями.
На вкладке "Параметры" в первой строке в списке AND выберите в левом поле и выберите список динамического содержимого (значок молнии). В этом списке в категории триггеры выберите выход Has Attachment.
Совет
Если выходные данные "С вложением" не отображаются, выберите "Подробнее".
В среднем поле оставьте оператор с именем равно.
В правом поле введите true, которое является значением для сравнения со значением выходных данных Has Attachment из триггера. Если оба значения равны и сообщение содержит по крайней мере одно вложение, условие выполняется, и рабочий процесс продолжает своё выполнение.
В определении базового рабочего процесса, которое можно просмотреть, выбрав представление кода на панели инструментов конструктора, условие выглядит следующим образом:
"Condition": { "actions": { <actions-to-run-when-condition-passes> }, "expression": { "and": [ { "equals": [ "@triggerBody()?['HasAttachment']", "true" ] } ] }, "runAfter": {}, "type": "If" }Сохраните ваш рабочий процесс.
Проверьте своё условие
На панели инструментов конструктора нажмите кнопку "Выполнить".>
Этот шаг вручную активирует и запускает ваш рабочий процесс, но ничего не происходит, пока вы не отправите тестовое электронное письмо в папку входящих.
Отправьте себе сообщение электронной почты, соответствующее следующим критериям:
Тема электронной почты содержит текст, указанный в фильтре темы триггера: бизнес-аналитик 2 #423501
Сообщение электронной почты имеет одно вложение. Теперь создайте один пустой текстовый файл и вложите его в электронное сообщение.
При поступлении сообщения электронной почты рабочий процесс проверяет наличие вложений и указанного текста темы. Если условие проходит, триггер запускается и вызывает создание экземпляра Azure Logic Apps и запуск экземпляра рабочего процесса.
Чтобы проверить, запущен ли триггер и рабочий процесс успешно запущен, в меню приложения логики выберите "Обзор".
Чтобы просмотреть успешно выполненные рабочие процессы, выберите История запусков.
Чтобы просмотреть успешно запущенные триггеры, выберите журнал триггеров.
Если триггер не сработал или рабочий процесс не запускался, даже когда триггер был успешным, обратитесь к разделу «Устранение неполадок в рабочем процессе приложения логики».
Затем определите действия, выполняемые для ветви True . Чтобы сохранить сообщение электронной почты и вложения, удалите любой HTML из текста электронной почты, затем создайте большие двоичные объекты в контейнере для хранения электронной почты и вложений.
Примечание.
Рабочий процесс может оставить пустую ветвь False и не выполнять никаких действий, если в сообщении электронной почты нет вложений. В качестве бонусного упражнения после завершения работы с этим руководством вы можете добавить любое соответствующее действие, которое вы хотите выполнить для ветви False.
Вызовите функцию RemoveHTMLFunction
Следующие шаги добавляют созданную ранее функцию Azure, которая принимает содержимое текста электронной почты из триггера электронной почты в качестве входных данных.
В меню приложения логики в разделе "Средства разработки" выберите конструктор приложений логики. В ветви True выберите "Добавить действие".
Выберите ранее созданное функциональное приложение CleanTextFunctionApp в этом примере.
Выберите функцию, которая называется RemoveHTMLFunction в этом примере, а затем нажмите кнопку "Добавить действие".
В области сведений о действии Функции Azure переименуйте действие на Call RemoveHTMLFunction.
Теперь укажите входные данные для обработки с помощью функции.
Для Тела запроса введите следующий текст с пробелом на конце:
{ "emailBody":Пока вы будете работать с этими входными данными на следующих шагах, будет отображаться сообщение об ошибке о недопустимом формате JSON. При тестировании этой функции ранее входные данные, указанные для данной функции, использовали JavaScript Object Notation (JSON). Таким образом, текст запроса должен использовать тот же формат.
Выберите внутри поля "Текст запроса", а затем выберите список динамического содержимого (значок молнии), чтобы выбрать выходные данные из предыдущих действий.
В списке динамического содержимого в разделе Когда поступает новое электронное письмо выберите поле 'Текст'. После разрешения этого значения в поле "Текст запроса" не забудьте добавить закрывающую фигурную скобку (}).
По завершении функция Azure выглядит следующим образом:
Сохраните ваш рабочий процесс.
Затем добавьте действие, которое создает объект типа blob для хранения тела электронной почты.
Добавить действие для создания BLOB для тела электронного письма
Следующие шаги создадут блоб для хранения тела электронной почты в вашем контейнере хранения.
В конструкторе, в блоке True условия, под вашей функцией Azure, выберите Добавить действие.
Выполните следующие общие действия, чтобы добавить действие Azure Blob Storage с именем Create blob.
Укажите сведения о подключении для учетной записи хранения, например:
Параметр Обязательное поле значение Описание Имя подключения Да < имя_соединения> Описательное имя подключения.
В этом примере используется AttachmentStorageConnection.Тип проверки подлинности Да < тип проверки подлинности> Тип проверки подлинности, используемый для подключения.
В этом примере используется ключ доступа.имя учетной записи службы хранилища Azure или конечная точка BLOB-объекта Да < имя учетной записи хранилища> Имя ранее созданной учетной записи хранения.
В этом примере используется attachmentstorageacct.ключ доступа к учетной записи хранилища Azure Да < ключ доступа к учетной записи хранения> Ключ доступа для ранее созданной учетной записи хранения. По завершении нажмите кнопку "Создать".
В области сведений о действии создания BLOB-объекта переименуйте действие в Создание BLOB-объекта для тела электронной почты.
Укажите следующие сведения о действии:
Совет
Если не удается найти указанные выходные данные в списке динамического содержимого, нажмите кнопку "Дополнительные сведения" рядом с именем операции.
Параметр Обязательное поле значение Описание Имя учетной записи хранения или конечная точка BLOB Да Используйте параметры подключения(<имя-учетной-записи-хранилища-или-конечная-точка-BLOB>) Выберите параметр, содержащий имя учетной записи хранения.
В этом примере используетсяhttps://attachmentstorageacct.blob.core.windows.net.Путь к папке Да < path-and-container-name> Путь и имя контейнера, созданные ранее.
В этом примере выберите значок папки и выберите вложения.Имя BLOB-объекта Да < имя отправителя> В этом примере используйте имя отправителя в качестве имени BLOB-объекта.
1. Щелкните в поле “Имя БДО”, а затем выберите параметр списка динамического содержимого (значок молнии).
2. В разделе "При поступлении нового сообщения электронной почты " выберите "Из".Содержимое BLOB-объектов Да < очищенный текст электронной почты> В этом примере используйте текст электронного сообщения без HTML в качестве содержимого большого двоичного объекта.
1. Выберите внутри поля Blob Content, затем выберите опцию из списка динамического содержимого (значок молнии).
2. В разделе "Вызов RemoveHTMLFunction" выберите "Body".На следующих снимках экрана показаны выходные данные, которые нужно выбрать для действия Создание двоичного объекта для тела электронного письма.
После завершения действие будет выглядеть следующим образом:
Сохраните ваш рабочий процесс.
Тестирование обработки вложений
На панели инструментов конструктора нажмите кнопку "Выполнить".>
Этот шаг вручную активирует и запускает ваш рабочий процесс, но ничего не происходит, пока вы не отправите тестовое электронное письмо в папку входящих.
Отправьте себе сообщение электронной почты, соответствующее следующим критериям:
Тема электронной почты содержит текст, указанный в параметре фильтра темы триггера: Бизнес-аналитик 2 #423501
Ваше электронное сообщение содержит одно или несколько вложений. Теперь создайте один пустой текстовый файл и вложите его в электронное сообщение.
Ваше электронное письмо содержит некоторое тестовое содержимое в тексте, например: тестирование моего логического приложения рабочего процесса
Если ваш рабочий процесс не активировался или не выполнялся, даже если триггер был успешен, см. статью "Устранение неполадок рабочего процесса логического приложения".
Убедитесь, что рабочий процесс сохранил сообщение электронной почты в правильном контейнере хранилища.
В Обозревателе хранилища разверните Эмулятор и присоединенные>учетные записи хранилища>attachmentstorageacct (Ключ)>Контейнеры BLOB>вложения.
Проверьте контейнер электронных сообщений attachments.
На этом этапе в контейнере отображается только сообщение электронной почты, так как рабочий процесс еще не обработал вложения.
По завершении удалите сообщение электронной почты в Storage Explorer.
При необходимости, чтобы проверить ветвь False , которая ничего не делает в настоящее время, вы можете отправить сообщение электронной почты, которое не соответствует условиям.
Затем добавьте цикл Для каждого для обработки каждого вложения электронной почты.
Добавьте цикл для обработки вложений
Следующие шаги добавляют цикл для обработки каждого вложения в электронной почте.
Вернитесь в конструктор рабочих процессов. В действии Создать blob для тела электронной почты выберите Добавить действие.
Выполните следующие общие шаги, чтобы добавить действие управления с именем For each.
В области сведений о действии Для каждого переименуйте действие в Для каждого вложения электронной почты.
Теперь выберите содержимое для обработки в цикле.
В цикле для каждого вложения электронной почты выберите внутри блока "Выходные данные из предыдущих шагов", а затем выберите опцию из списка динамического содержимого (значок молнии).
В разделе "Когда появится новое сообщение электронной почты", выберите "Вложения".
Выходные данные Attachments включают массив, содержащий все вложения из электронного письма. Цикл ForEach выполняет действия для каждого элемента массива.
Совет
Если вы не видите вложения, нажмите кнопку "Дополнительные сведения".
Сохраните ваш рабочий процесс.
Затем добавьте действие, которое сохраняет каждое вложение в виде большого двоичного объекта в контейнере хранилища вложений .
Добавить действие для создания BLOB для каждого вложения
Следующие шаги добавляют действие для создания BLOB для каждого вложения.
В конструкторе, в цикле для каждого вложения электронной почты, выберите Добавить действие.
Выполните следующие общие действия, чтобы добавить действие Azure Blob Storage с именем Create blob.
В области сведений о действии создания объектов BLOB переименуйте действие в Создать объект BLOB для вложения электронной почты.
Укажите следующие сведения о действии:
Совет
Если не удается найти указанные выходные данные в списке динамического содержимого, нажмите кнопку "Дополнительные сведения" рядом с именем операции.
Параметр Обязательное поле значение Описание Имя учетной записи хранения или конечная точка BLOB Да Используйте параметры подключения(<имя-учетной-записи-хранилища-или-конечная-точка-BLOB>) Выберите параметр, содержащий имя учетной записи хранения.
В этом примере используетсяhttps://attachmentstorageacct.blob.core.windows.net.Путь к папке Да < path-and-container-name> Путь и имя контейнера, созданные ранее.
В этом примере выберите значок папки и выберите вложения.Имя BLOB-объекта Да < имя вложения> В этом примере используйте имя вложения как имя BLOB.
1. Щелкните в поле “Имя БДО”, а затем выберите параметр списка динамического содержимого (значок молнии).
2. В разделе "При поступлении нового сообщения электронной почты " выберите "Имя".Содержимое BLOB-объектов Да < содержимое электронной почты> В этом примере используйте содержимое электронной почты в качестве данных Blob.
1. Выберите внутри поля Blob Content, затем выберите опцию из списка динамического содержимого (значок молнии).
2. В разделе "При поступлении нового сообщения" выберите "Содержимое".Примечание.
При выборе выхода, содержащего массив, например, Content, который является массивом с вложениями, конструктор автоматически добавляет цикл For each вокруг действия, ссылающегося на этот выход. Таким образом рабочий процесс может выполнить это действие для каждого элемента массива. Чтобы удалить цикл, переместите действие, которое ссылается на выходные данные вне цикла, и удалите цикл.
На следующем снимке экрана показаны результаты, которые необходимо выбрать для действия "Создание блоба для прикрепления к электронной почте".
После завершения действие будет выглядеть следующим образом:
Сохраните ваш рабочий процесс.
Повторная обработка вложений
На панели инструментов конструктора нажмите кнопку "Выполнить".>
Этот шаг вручную активирует и запускает ваш рабочий процесс, но ничего не происходит, пока вы не отправите тестовое электронное письмо в папку входящих.
Отправьте себе сообщение электронной почты, соответствующее следующим критериям:
Тема электронной почты содержит текст, указанный в параметре фильтра темы триггера: Бизнес-аналитик 2 #423501
В сообщении электронной почты есть два или более вложений. Теперь создайте два пустых текстовых файла и вложите их в электронное сообщение.
Если ваш рабочий процесс не активировался или не выполнялся, даже если триггер был успешен, см. статью "Устранение неполадок рабочего процесса логического приложения".
Убедитесь, что рабочий процесс сохранил электронную почту и вложения в правильный контейнер хранилища.
Затем добавьте действие в рабочий процесс, который отправляет сообщение электронной почты для просмотра вложений.
Добавление действия для отправки электронной почты
Следующие действия позволяют рабочему процессу отправлять сообщения электронной почты для просмотра вложений.
Вернитесь в конструктор рабочих процессов. В ветви True в разделе Для каждого вложения электронной почты выберите Добавить действие.
-
В этом примере рассматривается соединитель Office 365 Outlook, который работает только с рабочими или учебными учетными записями Azure. Для личных учетных записей Майкрософт выберите соединитель Outlook.com.
Если у вас запросят учетные данные, войдите в свою учетную запись электронной почты, чтобы Azure Logic Apps мог создать подключение к вашей учетной записи.
В области сведений о действии "Отправка электронной почты" переименуйте действие на "Отправить письмо для проверки".
Укажите следующие сведения о действии и выберите выходные данные для включения в сообщение электронной почты:
Совет
Если не удается найти указанные выходные данные в списке динамического содержимого, нажмите кнопку "Дополнительные сведения" рядом с именем операции.
Параметр Обязательное поле значение Описание Кому Да < электронный адрес получателя> Для тестировании используйте свой собственный адрес электронной почты. Тема Да < тема электронной почты> Тема электронной почты для включения.
В этом примере используется ASAP — проверка претендента на позицию:, и выходные данные субъекта триггера.
1. В поле "Тема" введите пример текста с конечным пробелом.
2. Выберите внутри поля "Тема ", а затем выберите параметр списка динамического содержимого (значок молнии).
3. В списке в разделе "При поступлении нового сообщения" выберите "Тема".Основная часть Да < текст электронной почты> Текст, который будет включен в сообщение электронной почты.
В примере используется Please review new applicant:, выходные данные триггера с именем From, выходные данные Path из действия Create blob for email body, и выходные данные Body из вашего действия Call RemoveHTMLFunction.
1. В поле "Текст" введите пример текста, просмотрите нового кандидата:.
2. В новой строке введите пример текста, Имя кандидата:, а затем добавьте данные, полученные из триггера.
3. В новой строке введите пример текста, Расположение файла приложения:, а затем добавьте путь из действия создания блоба для тела электронной почты.
4. В новой строке введите пример текста, Содержимое электронной почты приложения:, а затем добавьте вывод текста из действия Call RemoveHTMLFunction.Примечание.
При выборе выхода, содержащего массив, например, Content, который является массивом с вложениями, конструктор автоматически добавляет цикл For each вокруг действия, ссылающегося на этот выход. Таким образом рабочий процесс может выполнить это действие для каждого элемента массива. Чтобы удалить цикл, переместите действие, которое ссылается на выходные данные вне цикла, и удалите цикл.
На следующем снимке экрана показано завершенное действие Отправка электронного письма:
Сохраните ваш рабочий процесс.
Готовый рабочий процесс выглядит следующим образом:
Тестирование рабочего процесса
Отправьте электронное сообщение, которое соответствует этому критерию:
Тема электронной почты содержит текст, указанный в параметре фильтра темы триггера: Бизнес-аналитик 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. Теперь узнайте больше о других соединителях, которые можно использовать для создания рабочих процессов приложения логики.