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


Использование Azure Logic Apps для обмена сообщениями AS2 в B2B рабочих процессах

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

Чтобы отправлять и получать сообщения AS2 в рабочих процессах, создаваемых с помощью Azure Logic Apps, используйте соединитель AS2 (v2). Этот соединитель предоставляет действия для поддержки и управления связью AS2. Если вам нужны возможности отслеживания, исходный соединитель AS2 по-прежнему доступен, но не рекомендуется.

За исключением возможностей отслеживания, соединитель AS2 (версии 2) предоставляет те же возможности, что и исходный соединитель AS2. Соединитель AS2 (v2) работает на родном уровне с средой выполнения Azure Logic Apps и обеспечивает значительные улучшения производительности по размерам сообщений, пропускной способности и задержке. В отличие от исходного соединителя AS2, соединитель AS2 (версии 2) не требует создания подключения к учетной записи интеграции. Вместо этого, как описано в предварительных требованиях, свяжите учетную запись интеграции с ресурсом приложения логики, в котором планируется использовать соединитель.

В этом руководстве показано, как добавить действия кодирования и декодирования для AS2 (версии 2) и AS2 в существующий рабочий процесс приложения логики. Соединитель AS2 (v2) не предоставляет триггеров, поэтому для запуска рабочего процесса можно использовать любой триггер. В примерах этого руководства используется триггер запроса.

Технический справочник по соединителю

Соединитель AS2 имеет разные версии, основанные на типе приложения логики и среде узла.

Приложение логики Среда Версия соединителя
Потребление Мультитенантные Azure Logic Apps Управляемые коннекторы AS2 (v2) и AS2, которые отображаются в галерее коннекторов в разделе Shared. Соединитель AS2 имеет один триггер и несколько действий. Соединитель AS2 (версии 2) предоставляет только действия. Вы можете использовать любой триггер, который работает в вашем сценарии. Для получения дополнительной информации см.:

- Справочник по управляемому соединителю AS2
- Операции управляемого соединителя AS2 (версии 2)
- Ограничения сообщений AS2
Стандартные Azure Logic Apps для одного пользователя, среда приложений App Service версии 3 (планы только Windows) и гибридное развертывание Встроенный соединитель AS2 (версии 2), который отображается в коллекции соединителей в разделе "Встроенный" и управляемый соединитель AS2, который отображается в коллекции соединителей в разделе "Общий". Соединитель AS2 имеет один триггер и несколько действий. Коннектор AS2 (версия 2) предоставляет только действия. Вы можете использовать любой триггер, который работает в вашем сценарии.

Встроенная версия отличается следующим образом:

— Встроенная версия может напрямую получить доступ к виртуальным сетям Azure. Вам не нужен локальный шлюз данных.

Для получения дополнительной информации см.:

- Справочник по управляемому соединителю AS2
- Встроенные операции соединителя AS2 (версии 2)
- Ограничения сообщений AS2

Операции AS2 (версии 2)

Соединитель AS2 (версии 2) не имеет триггеров. В следующей таблице описываются действия, которые предоставляет соединитель AS2 (версии 2) для установления безопасности и надежности при передаче сообщений:

Действие Description
Действие кодирования AS2 Предоставляет шифрование, цифровую подпись и подтверждения с помощью уведомлений о ликвидации сообщений (MDN), которые помогают поддерживать нерекомендывание. Например, это действие применяет заголовки AS2/HTTP и выполняет следующие задачи при настройке:

— подписывающие исходящие сообщения.
— шифрование исходящих сообщений.
— сжатие сообщения.
— передача имени файла в заголовке MIME.
Декодирование AS2 (действие) Предоставляет расшифровку, цифровую подпись и подтверждение с помощью уведомлений о состоянии доставки сообщений (MDN). Например, это действие выполняет следующие задачи при настройке:

— Обработка заголовков AS2/HTTP.
— согласование полученных MDN с исходными исходящими сообщениями.
— обновляет и коррелирует записи в базе данных, не относяющейся к нерекомендации.
— запись записей для отчетов о состоянии AS2.
— Вывод содержимого полезных данных в кодировке Base64.
— определите, требуются ли MDN. На основе соглашения AS2 определите, должны ли mdN быть синхронными или асинхронными.
— создание синхронных или асинхронных MDN на основе соглашения AS2.
— Задайте маркеры корреляции и свойства в MDN.
— Проверка подписи.
— расшифровка сообщений.
— распаковка сообщения.
— проверяет и запрещает повторяющиеся идентификаторы сообщения.

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

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

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

  • Ресурс учетной записи интеграции для определения и хранения артефактов для использования в рабочих процессах корпоративной интеграции и B2B.

    • Учетная запись интеграции и ресурс приложения логики должны существовать в одной подписке Azure и регионе Azure.

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

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

  • Перед тем как начать работать с AS2 (версии 2) или операциями AS2, необходимо связать ваше приложение логики потребления или связать ваше стандартное приложение логики с учетной записью интеграции. При добавлении операции AS2 (версии 2) или AS2 может потребоваться также создать подключение к учетной записи интеграции:

    Рабочий процесс приложения логики Требуется ссылка?
    Потребление — соединитель AS2 (версия 2): подключение не требуется
    — соединитель AS2: требуется подключение
    Стандартные — соединитель AS2 (версия 2): подключение не требуется
    — соединитель AS2: требуется подключение
  • Если для управления сертификатами используется Azure Key Vault, убедитесь, что ключи хранилища разрешают операции шифрования и расшифровки. В противном случае действия кодирования и декодирования завершатся ошибкой.

    1. На портале Azure откройте ресурс хранилища ключей. На боковой панели ресурса в разделе "Объекты" выберите "Ключи".

    2. На странице "Ключи" выберите ключ. На странице "Версии" выберите используемую версию ключа.

    3. На странице "Версия ключа " в разделе "Разрешенные операции" убедитесь, что выбрано шифрование и расшифровка .

      Снимок экрана: портал Azure и ресурс хранилища ключей с открытыми страницами версий ключей и выбранными операциями шифрования и расшифровки.

Кодирование сообщений AS2

Чтобы закодировать сообщения с помощью соединителя AS2 (версии 2) или соединителя AS2, выполните соответствующие действия.

Соединитель AS2 версии 2

Чтобы закодировать сообщения с помощью соединителя AS2 (версии 2), выполните следующие действия:

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

  2. В конструкторе выполните следующие общие действия , чтобы добавить действие AS2 (v2) с именем AS2 Encode в рабочий процесс.

  3. В области сведений о действии укажите следующие сведения:

    Параметр Обязательное поле Description
    Сообщение для кодирования Да Полезные данные сообщения для кодирования, например, выходные данные body из триггера запроса.

    1. Выберите внутри поля "Сообщение для кодирования", затем выберите значок молнии, чтобы открыть список динамического контента.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выберите тело.
    AS2 из Да Бизнес-идентификатор отправителя сообщения, указанный соглашением AS2, например Fabrikam.
    AS2 в Да Бизнес-идентификатор получателя сообщений, указанный соглашением AS2, например Contoso.

    Например, полезные данные сообщения — это выходной текст триггера запроса:

    Снимок экрана показывает конструктор рабочих процессов и действие кодирования AS2 с параметрами кодирования сообщений.

Соединитель AS2

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

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

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

  3. При появлении запроса на создание подключения к учетной записи интеграции укажите следующие сведения:

    Параметр Обязательное поле Description
    Имя подключения Да Имя подключения.
    ИД учетной записи интеграции Да Имя учетной записи интеграции.
    Подписанный URL-адрес (SAS) учетной записи интеграции Да URL-адрес обратного вызова для учетной записи интеграции.

    Например:

    Снимок экрана: кодирование сведений о подключении сообщения AS2.

  4. По завершении нажмите кнопку "Создать".

  5. В области сведений о действии укажите следующие сведения.

    Параметр Обязательное поле Description
    AS2-from Да Бизнес-идентификатор отправителя сообщения, указанный соглашением AS2, например Fabrikam.
    AS2-to Да Бизнес-идентификатор получателя сообщений, указанный соглашением AS2, например Contoso.
    текст Да Полезные данные сообщения для кодирования, например, выходные данные body из триггера запроса.

    1. Выберите внутри коробки тела, а затем щелкните значок молнии, чтобы открыть список динамического содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выберите основной текст.

    Снимок экрана показывает действие

Декодирование сообщений AS2

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

Соединитель AS2 версии 2

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

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

  2. В конструкторе выполните следующие общие действия , чтобы добавить действие AS2 (v2) с именем AS2 Decode в рабочий процесс.

  3. В области сведений о действии укажите следующие сведения:

    Параметр Обязательное поле Description
    Сообщение для декодирования Да Полезные данные сообщения для декодирования, например, выходные данные body из триггера запроса.

    1. Выберите в поле сообщение для декодирования, затем выберите значок молнии, чтобы открыть список динамического содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выберите основной текст.
    Заголовки сообщений Да Заголовки сообщения для декодировать, например, выходные данные заголовков триггера запроса.

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

    triggerOutputs()?['headers']

    3. По завершении нажмите кнопку "Добавить".

    Например:

    Снимок экрана показывает конструктор рабочих процессов и действие AS2-декодирования со свойствами декодирования сообщений.

Соединитель AS2

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

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

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

  3. При появлении запроса на создание подключения к учетной записи интеграции укажите следующие сведения:

    Параметр Обязательное поле Description
    Имя подключения Да Имя подключения.
    ИД учетной записи интеграции Да Идентификатор ресурса для учетной записи интеграции, которая имеет следующий формат:

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Например:
    /subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

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

    1. В портал Azure откройте учетную запись интеграции.
    2. На боковой панели учетной записи интеграции выберите "Обзор".
    3. На странице обзора выберите представление JSON.
    4. Скопируйте значение из свойства идентификатора ресурса.
    Подписанный URL-адрес (SAS) учетной записи интеграции Да URL-адрес конечной точки запроса, использующий проверку подлинности SAS для предоставления доступа к учетной записи интеграции. Этот URL-адрес обратного вызова имеет следующий формат:

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Например:
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Чтобы найти этот URL-адрес, выполните следующие действия.

    1. В портал Azure откройте учетную запись интеграции.
    2. На боковой панели учетной записи интеграции в разделе "Параметры" выберите URL-адрес обратного вызова.
    3. Скопируйте значение из свойства URL-адреса созданного обратного вызова.

    Например:

    Снимок экрана показывает информацию о подключении для декодирования сообщения AS2.

  4. По завершении нажмите кнопку "Создать".

  5. В области сведений о действии укажите следующие значения:

    Параметр Обязательное поле Description
    текст Да Полезные данные сообщения, например , вывод текста триггера запроса.

    1. Выберите в корпусе, а затем щелкните на значок молнии, чтобы раскрыть список динамического содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выберите Тело.
    Заголовки Да Заголовки сообщения для декодировать, например, выходные данные заголовков триггера запроса.

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

    2. В поле редактора введите следующее выражение:

    triggerOutputs()?['headers']

    3. По завершении нажмите кнопку "Добавить".

    Например:

    Снимок экрана: действие

Пример

Сведения о развертывании рабочего процесса приложения логики и примера сценария AS2 (версии 2) см. в шаблоне и сценарии приложения логики AS2 (версии 2).

Устранение неполадок

  • Проблемы при отправке подписанных или зашифрованных сообщений

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