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


Обмен сообщениями EDI в виде пакетов или групп между торговыми партнерами в Azure Logic Apps

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

В сценариях "бизнес — бизнес" (B2B) партнеры часто обмениваются сообщениями в группах или пакетах. При создании решения пакетной обработки с помощью Azure Logic Apps можно отправлять сообщения торговым партнерам и обрабатывать эти сообщения вместе в пакетах. В этой статье показано, как выполнять пакетную обработку сообщений EDI, используя X12 в качестве примера, путем создания приложения логики для отправки пакета и приложения логики для получения пакета.

Пакетная обработка сообщений X12 работает так же, как пакетная обработка других сообщений. Вы используете триггер пакетной службы, который собирает сообщения в пакет и пакетное действие, которое отправляет сообщения в пакет. Кроме того, пакетная обработка X12 включает в себя шаг кодирования X12, прежде чем сообщения будут отправлены торговому партнеру или по другому назначению. Дополнительные сведения о триггере и действии "Пакет" см. в статье Отправка, получение и пакетная обработка сообщений в приложениях логики.

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

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

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

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

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

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

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

    Внимание

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

Создание приложения логики для получения пакета X12

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

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

  1. В портал Azure, Visual Studio или Visual Studio Code создайте приложение логики со следующим именем: BatchX12Messages

  2. Привяжите приложение логики к учетной записи интеграции.

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

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

  5. Задайте свойства приложения логики для получения пакетов:

    Свойство Значение Примечания.
    Пакетный режим Встроенный
    Имя пакета TestBatch Доступно только в пакетном режиме Встроенный
    Условия отправки На основе количества сообщений, по расписанию Доступно только в пакетном режиме Встроенный
    Количество сообщений 10 Доступно только с условием отправки На основе количества сообщений
    Интервал 10 Доступно только с условием отправки По расписанию
    Периодичность мин Доступно только с условием отправки По расписанию

    Ввод сведений для триггера

    Примечание.

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

  6. Теперь добавьте действие, которое кодирует каждый пакет:

    1. Выполните следующие общие действия, чтобы добавить действие X12 с именем: пакетная кодирование <любой версии>

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

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

    3. Задайте эти свойства для действия кодировщика пакетной службы:

      Свойство Description
      Имя соглашения X12 Откройте список и выберите ваше имеющееся соглашение.

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

      Имя пакета Щелкните в этом поле, а после того как отобразится список динамического содержимого, выберите маркер Имя пакета.
      Имя раздела Щелкните в этом поле, а после того как отобразится список динамического содержимого, выберите маркер Имя раздела.
      Товаров Закройте поле сведений об элементе, а затем щелкните в этом поле. После того как отобразится список динамического содержимого, выберите маркер Пакетные элементы.

      Сведения о действии пакетного кодирования

      Для поля Элементы:

      Элементы действия пакетного кодирования

  7. Сохраните рабочий процесс приложения логики.

  8. Если вы используете Visual Studio, убедитесь, что вы развернете приложение логики пакетного приемника в Azure. В противном случае вы не сможете выбрать этот получатель пакетов при создании отправителя пакетов.

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

Чтобы убедиться, что ваше приложение логики для получения пакета работает должным образом, можно добавить действие HTTP для тестирования и отправить пакетированное сообщение в службу RequestBin.

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

  2. Задайте свойства действия HTTP:

    Свойство Description
    Method Выберите POST в списке.
    URI-адрес Создайте универсальный код ресурса (URI) с помощью службы RequestBin и введите полученный URI в это поле.
    Текст Щелкните в этом поле, а после открытия списка динамического содержимого выберите маркер Текст, который отображается в разделе Пакетная кодировка по имени соглашения.

    Если маркер Текст не отображается, то щелкните Показать больше рядом с пунктом Пакетная кодировка по имени соглашения.

    Ввод сведений о действии HTTP

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

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

    Сохранение приложения логики для получения пакета

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

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

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

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

  1. Создайте другое приложение логики со следующим именем: SendX12MessagesToBatch

  2. Выполните следующие общие действия, чтобы добавить триггер запроса с именем "При получении HTTP-запроса".

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

    1. Выберите созданное ранее приложение логики BatchX12Messages .

    2. Выберите действие BatchX12Messages с именем Batch_messages — <ваш пакетный приемник>.

  4. Задайте свойства приложения логики для отправки пакета.

    Свойство Description
    Имя пакета Имя пакета, определенное приложением логики получателя, которое является TestBatch в этом примере

    Важно! Имя пакета проверяется во время выполнения. Оно должно совпадать с именем, указанным в принимающем приложении логики. Изменение имени пакета приводит к сбою в работе приложения логики для отправки пакета.

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

    Настройка свойств пакета

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

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

    Сохранение приложения логики для отправки пакета

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

Чтобы протестировать решение пакетной обработки, отправьте сообщения X12 в рабочий процесс приложения логики пакетного отправителя с помощью средства HTTP-запроса и его инструкций. Через некоторое время вы начнете получать сообщения X12 в службе RequestBin — каждые 10 минут или в виде пакета из 10 элементов. Все они должны иметь одинаковый ключ раздела.

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