Поделиться через


Кодирование и декодирование неструктурированных файлов в Azure Logic Apps

Область применения: Azure Logic Apps (Потребление + Стандартный)

Перед отправкой XML-содержимого бизнес-партнеру в сценарии B2B необходимо сначала закодировать это содержимое. Если вы получаете закодированное XML-содержимое, его сначала необходимо декодировать. При создании рабочего процесса приложения логики в Azure Logic Apps вы можете кодировать и декодировать неструктурированные файлы с помощью действий встроенного соединителя Flat File и схемы неструктурированных файлов для кодирования и декодирования. Действия с неструктурированными файлами можно использовать в рабочих процессах приложения логики многотенантного потребления и рабочих процессах приложения логики уровня "Стандартный".

Хотя триггеры Flat File отсутствуют, вы можете использовать любой триггер или действие для передачи исходного содержимого XML в рабочий процесс. Например, можно использовать встроенный триггер соединителя, управляемый или размещенный в Azure триггер соединителя, доступный для Azure Logic Apps, или даже другое приложение.

В этой статье показано, как добавить действия кодирования и декодирования Flat File в ваш рабочий процесс.

  • Добавьте действие кодирования или декодирования Flat File в рабочий процесс.
  • Выберите нужную схему.

Дополнительные сведения см. в следующей документации:

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

  • Учетная запись и подписка Azure. Если у вас еще нет подписки, зарегистрируйтесь и получите бесплатную учетную запись Azure.

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

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

  • Ресурс и рабочий процесс приложения логики. Операции Flat File не имеют доступных триггеров, поэтому рабочий процесс должен включать хотя бы один триггер. Дополнительные сведения см. в следующей документации:

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

  • В зависимости от того, работаете ли вы над рабочим процессом приложения логики категории "Потребление" или "Стандартный", вам потребуется ресурс учетной записи интеграции. Как правило, этот ресурс требуется при определении и хранении артефактов для использования в рабочих процессах интеграции предприятия и совместной работы B2B.

    Внимание

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

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

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

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

      • Встроенный соединитель Flat File позволяет выбрать схему, которую вы ранее отправили либо в ресурс приложения логики, либо в связанную учетную запись интеграции. Затем можно использовать этот артефакт во всех дочерних рабочих процессах в одном ресурсе приложения логики.

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

  • Установите или используйте средство, которое может отправлять HTTP-запросы для тестирования решения, например:

    Внимание

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

Ограничения

  • XML-содержимое, которое требуется декодировать, должно быть закодировано в формате UTF-8.

  • В схеме неструктурированного файла убедитесь, что в содержащихся XML-группах отсутствует чрезмерное число свойства max count, для которого задано значение больше 1. Избегайте вложения XML-группы со значением свойства max count больше 1 в другую группу XML со значением свойства max count больше 1.

  • Когда Azure Logic Apps анализирует схему неструктурированного файла и всякий раз, когда схема позволяет выбрать следующий фрагмент, Azure Logic Apps создает символ и прогноз для этого фрагмента. Если схема допускает слишком много таких конструкций, например более 100 000, расширение схемы становится слишком большим, что требует слишком много ресурсов и времени.

Отправить схему

После создания схемы вам нужно отправить схему на основе следующего сценария:

Добавление действия кодирования Flat File

  1. На портале Azure откройте рабочий процесс приложения логики в конструкторе, если он еще не открыт.

  2. Если рабочий процесс не имеет требуемых триггера или каких-либо других действий, сначала добавьте эти операции. Операции Flat File не имеют доступных триггеров.

    Этот пример продолжается с триггером запроса с именем "При получении HTTP-запроса".

  3. В конструкторе рабочих процессов на шаге, где вы хотите добавить действие Flat File, щелкните Создать шаг.

  4. Под полем поиска Выберите операцию щелкните Встроенные. В поле поиска введите flat file.

  5. В списке действий выберите действие Кодирование неструктурированного файла.

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

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

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

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

      В этом примере в списке динамического содержимого в разделе При получении HTTP-запроса выберите токен Текст, который представляет выходные данные содержимого текста из триггера.

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

    Примечание.

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

  7. В списке Имя схемы выберите схему.

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

    Примечание.

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

    Когда все будет готово, действие будет выглядеть так:

    Снимок экрана: рабочий процесс категории

  8. Чтобы добавить в действие другие необязательные параметры, выберите эти параметры в списке Добавить новые параметры.

    Параметр Стоимость Описание
    Режим создания пустого узла ForcedDisabled, HonorSchemaNodeProperty или ForcedEnabled Режим, используемый для создания пустых узлов с кодировкой неструктурированных файлов.

    Для BizTalk схема неструктурированных файлов имеет свойство, которое управляет пустым поколением узлов. Можно либо следовать поведению свойства создания пустого узла для схемы неструктурированного файла, либо использовать этот параметр для создания или пропуска пустых узлов Azure Logic Apps. Дополнительные сведения см. в разделе "Теги" для пустых элементов.
    Нормализация XML Да или Нет Параметр включения или отключения нормализации XML в кодировке неструктурированных файлов. Дополнительные сведения см. в разделе XmlTextReader.Normalization.
  9. Сохраните результаты своих действий. На панели инструментов конструктора выберите Сохранить.

Добавление действия декодирования Flat File

  1. На портале Azure откройте рабочий процесс приложения логики в конструкторе, если он еще не открыт.

  2. Если рабочий процесс не имеет требуемых триггера или каких-либо других действий, сначала добавьте эти операции. Операции Flat File не имеют доступных триггеров.

    Этот пример продолжается с триггером запроса с именем "При получении HTTP-запроса".

  3. В конструкторе рабочих процессов на шаге, где вы хотите добавить действие Flat File, щелкните Создать шаг.

  4. Под полем поиска Выберите операцию щелкните Встроенные. В поле поиска введите flat file.

  5. В списке действий выберите действие Декодирование неструктурированного файла.

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

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

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

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

      В этом примере в списке динамического содержимого в разделе При получении HTTP-запроса выберите токен Текст, который представляет выходные данные содержимого текста из триггера.

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

    Примечание.

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

  7. В списке Имя схемы выберите схему.

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

    Примечание.

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

    Когда все будет готово, действие будет выглядеть так:

    Снимок экрана: рабочий процесс категории

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

Теперь вы выполнили настройку действия по декодированию неструктурированных файлов. В реальном применении вы можете сохранить декодированные данные в бизнес-приложении, например в Salesforce. Или же можно отправить эти декодированные данные торговому партнеру. Чтобы отправить выходные данные из действия декодирования в Salesforce или в торгового партнера, используйте другие соединители, доступные в Azure Logic Apps:

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

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

  1. В триггере запроса найдите свойство URL-адреса HTTP POST и скопируйте URL-адрес.

  2. Откройте средство HTTP-запроса и используйте его инструкции для отправки HTTP-запроса на скопированный URL-адрес, включая метод, который ожидает триггер запроса .

    В этом примере используется POST метод с URL-адресом.

  3. Включите XML-содержимое, которое требуется кодировать или декодировать в тексте запроса.

  4. Когда рабочий процесс завершится, перейдите к его журналу выполнения и изучите входные и выходные данные действия Flat File.

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