Руководство: создание функции для интеграции с Azure Logic Apps

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

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

Из этого руководства вы узнаете, как выполнять такие задачи.

  • Создание ресурса API Cognitive Services.
  • Создание функции, классифицирующей мнения, выраженные в твитах.
  • Создание приложения логики, подключающегося к Twitter.
  • Добавление обнаружения мнений в приложение логики.
  • Подключение приложения логики к функции.
  • Отправка электронного сообщения в зависимости от ответа из функции.

Предварительные требования

  • Активная учетная запись Twitter.
  • Учетная запись Outlook.com (для отправки уведомлений).

Примечание

Только учетные записи для бизнеса G-Suite могут использовать соединитель Gmail без ограничений в приложениях логики. Если у вас есть учетная запись потребителя Gmail, вы можете использовать соединитель Gmail только с определенными утвержденными Google приложениями и службами. Вы также можете создать клиентское приложение Google, которое будет использоваться для проверки подлинности в соединителе Gmail.

Дополнительные сведения см. в статье Политики безопасности и конфиденциальности данных для соединителей Google в Azure Logic Apps.

Создание ресурса «Анализ текстов»

API-интерфейсы Cognitive Services доступны как отдельные ресурсы в Azure. Используйте Text Analytics API, чтобы определять тональность опубликованных твитов.

  1. Войдите на портал Azure.

  2. Щелкните Создать ресурс в верхнем левом углу окна портала Azure.

  3. В разделе Категории выберите Средства ИИ и машинного обучения

  4. В разделе Анализ текста выберите Создать.

  5. Введите следующие значения на экране Создать текстовую аналитику.

    Параметр Значение Комментарии
    Подписка Имя подписки Azure.
    Группа ресурсов Создайте новую группу ресурсов с именем tweet-sentiment-tutorial Позже вы удалите эту группу ресурсов, чтобы удалить все ресурсы, созданные в рамках данного руководства.
    Регион Выберите ближайший к вам регион.
    Имя TweetSentimentApp
    Ценовая категория Выберите Free F0
  6. Выберите Review + create (Просмотреть и создать).

  7. Нажмите кнопку создания.

  8. После завершения развертывания выберите Перейти к ресурсу.

Получение параметров ресурса «Анализ текста»

После создания ресурса «Анализ текста» вы сможете скопировать несколько параметров и настроить их для последующего использования.

  1. Выберите Ключи и конечная точка.

  2. Скопируйте ключ 1, щелкнув иконку значка в конце поля ввода.

  3. Вставьте значение в текстовый редактор.

  4. Скопируйте конечную точку, щелкнув значок в конце поля ввода.

  5. Вставьте значение в текстовый редактор.

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

  1. В верхнем поле поиска найдите и выберите Приложение-функция.

  2. Нажмите кнопку создания.

  3. Введите указанные ниже значения.

    Параметр Рекомендуемое значение Комментарии
    Подписка Имя подписки Azure.
    Группа ресурсов tweet-sentiment-tutorial В данном руководстве следует использовать одно и то же имя группы ресурсов.
    Имя приложения-функции TweetSentimentAPI + уникальный суффикс Имена приложений функций являются глобально уникальными. Допустимые символы: a-z (без учета регистра), 0-9и -.
    Публикация Код
    Стек среды выполнения .NET Код функции, предоставленный для вас, находится на C#.
    Версия Выберите номер последней версии
    Регион Выберите ближайший к вам регион.
  4. Выберите Review + create (Просмотреть и создать).

  5. Нажмите кнопку создания.

  6. После завершения работы развернутой службы выберите Перейти к ресурсу.

Создание функции, активируемой HTTP-запросом

  1. В левом меню окна Функции выберите Функции.

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

    Параметр Значение Комментарии
    Среда разработки Разработка на портале
    Шаблон Триггер HTTP
    Новая функция TweetSentimentFunction Это имя вашей функции.
    Уровень авторизации Компонент
  3. Нажмите кнопку Добавить.

  4. Нажмите кнопку Код + тест.

  5. Вставьте нижеприведенный код в окно редактора кода.

    #r "Newtonsoft.Json"
    
    using System;
    using System.Net;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Logging;
    using Microsoft.Extensions.Primitives;
    using Newtonsoft.Json;
    
    public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
    {
    
        string requestBody = String.Empty;
        using (StreamReader streamReader =  new  StreamReader(req.Body))
        {
            requestBody = await streamReader.ReadToEndAsync();
        }
    
        dynamic score = JsonConvert.DeserializeObject(requestBody);
        string value = "Positive";
    
        if(score < .3)
        {
            value = "Negative";
        }
        else if (score < .6) 
        {
            value = "Neutral";
        }
    
        return requestBody != null
            ? (ActionResult)new OkObjectResult(value)
           : new BadRequestObjectResult("Pass a sentiment score in the request body.");
    }
    

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

  6. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить изменения.

    Примечание

    Чтобы проверить функцию, выберите Тест/запуск в верхнем меню. На вкладке Ввод введите значение 0.9в поле ввода Текст, после чего выберите Выполнить. Убедитесь, что значение Положительное возвращено в поле Содержимое ответа HTTP в разделе Выходные данные.

Создайте приложение логики, интегрирующее функцию с API Twitter и Cognitive Services.

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

  1. В верхнем поле поиска найдите и выберите Logic Apps.

  2. Выберите Добавить.

  3. Выберите Потребление и введите следующие значения.

    Параметр Рекомендуемое значение
    Подписка Имя подписки Azure.
    Группа ресурсов tweet-sentiment-tutorial
    Имя приложения логики. TweetSentimentApp
    Регион Выберите ближайший к вам регион, желательно тот же регион, который вы выбрали в рамках предыдущих этапов.

    Для остальных параметров оставьте значения по умолчанию.

  4. Выберите Review + create (Просмотреть и создать).

  5. Нажмите кнопку создания.

  6. После завершения работы развернутой службы выберите Перейти к ресурсу.

  7. Нажмите кнопку Пустое приложение логики.

    кнопка Пустое приложение логики

  8. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить прогресс.

Теперь вы можете использовать Logic Apps Designer для добавления служб и триггеров в свое приложение.

Подключение к Twitter

Создайте соединение с Twitter, чтобы ваше приложение могло опрашивать новые твиты.

  1. Найдите Twitter в верхнем поле поиска.

  2. Выберите иконку Twitter.

  3. Выберите триггер Время публикации нового твита.

  4. Введите следующие значения для настройки соединения.

    Параметр Значение
    Имя соединения MyTwitterConnection
    тип проверки подлинности; Использовать общее приложение по умолчанию
  5. Выберите Войти.

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

  7. Затем введите следующие значения в поле Когда публикуется новый твит.

    Параметр Значение
    Текст запроса #my-twitter-tutorial
    Как часто вам нужно проверять наличие элементов? 1 в текстовом поле и
    Час в раскрывающемся списке. Вы можете ввести разные значения, но обязательно ознакомьтесь с текущими ограничениями для соединителя Twitter.
  8. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить прогресс.

Затем подключитесь к аналитике текста, чтобы определить тональность собранных твитов.

Добавление Анализ текста обнаружения тональности

  1. Выберите Новый шаг.

  2. В поле поиска введите Анализ текста.

  3. Выберите иконку Анализ текста.

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

    Параметр Значение
    Имя соединения TextAnalyticsConnection
    Ключ учетной записи Вставьте ключ учетной записи Анализа текста, который вы указали ранее.
    URL-адрес сайта Вставьте выделенную ранее конечную точку Анализа текста.
  5. Нажмите кнопку создания.

  6. Щелкните внутри поля Добавить новый параметр и установите флажок рядом с документами, который появляется во всплывающем окне.

  7. Щелкните текстовое поле Идентификаторы документа - 1, чтобы открыть всплывающее окно с динамическим содержимым.

  8. В поле поиска динамического содержимого найдите идентификатор и щелкните идентификатор твита.

  9. Щелкните текстовое поле Идентификаторы документа - 1, чтобы открыть всплывающее окно с динамическим содержимым.

  10. В поле поиска динамического содержимого найдите идентификатор и щелкните идентификатор твита.

  11. На странице выбора действия введите Текстовая аналитика и выберите действие Определить тональность.

  12. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить прогресс.

Поле определения тональности должно выглядеть, как на нижеприведенном снимке экрана.

Определение параметров тональности

Подключение выходных данных тональности к функции

  1. Выберите Новый шаг.

  2. В поле поиска введите Функции Azure.

  3. Выберите иконку Функции Azure.

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

  5. Выберите значок функции.

  6. Выберите элемент TweetSentimentFunction.

  7. Щелкните внутри поля Текст запроса и выберите во всплывающем окне пункт Определить тональность для оценки тональности.

  8. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить прогресс.

Добавить условный шаг

  1. Нажмите кнопку Добавить действие.

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

  3. Выберите Условие.

  4. Щелкните внутри поля Выберите значение и выберите во всплывающем окне элемент TweetSentimentFunction Body.

  5. Введите Положительное значение в поле Выбор значения.

  6. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить прогресс.

Добавление уведомлений по почте

  1. В поле Верно нажмите кнопку Добавить действие.

  2. Найдите и выберите Office 365 Outlook в текстовом поле.

  3. Найдите Отправить и в текстовом поле выберите Отправить электронное письмо.

  4. Нажмите кнопку Войти.

  5. Следуйте инструкциям во всплывающем окне, чтобы завершить вход в Office 365 Outlook.

  6. Введите свой адрес электронной почты в поле Кому.

  7. Щелкните внутри поля Тема и выберите элемент Текст в разделе TweetSentimentFunction. Если элемент Текст не отображается в списке, нажмите ссылку Подробнее, чтобы развернуть список параметров.

  8. После элемента Текст в поле Тема введите текст Твит от: .

  9. После текста Твит от: снова щелкните поле и выберите Имя пользователя в списке параметров Когда публикуется новый твит.

  10. Щелкните внутри поля Текст и выберите Текст твита под списком параметров Когда публикуется новый твит. Если элемент Текст твита не отображается в списке, нажмите ссылку Подробнее, чтобы развернуть список параметров.

  11. Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить прогресс.

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

Уведомление по электронной почте

Запуск рабочего процесса

  1. В своем аккаунте Twitter напишите в Твиттере следующий текст: Мне нравится #my-twitter-tutorial.

  2. Вернитесь в конструктор Logic Apps и нажмите кнопку Выполнить.

  3. Проверьте свою электронную почту на наличие сообщения из рабочего процесса.

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

Чтобы очистить все службы и учетные записи Azure, созданные в ходе этого руководства, удалите группу ресурсов.

  1. Найдите Группы ресурсов в верхнем поле поиска.

  2. Выберите tweet-sentiment-tutorial.

  3. Выберите Удалить группу ресурсов

  4. Введите в текстовое поле tweet-sentiment-tutorial.

  5. Нажмите кнопку Удалить.

При желании вы можете вернуться в свою учетную запись Twitter и удалить все тестовые твиты из своей ленты.

Дальнейшие действия