Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Logic Apps (Consumption + Стандарт)
Действия рабочих процессов, такие как преобразование XML и Liquid, требуют сопоставления для выполнения своих задач. Например, действие Преобразование XML требует карты для конвертации XML между форматами. Карта — это XML-документ, описывающий преобразование данных из XML в другой формат. Содержимое карты содержит исходную XML-схему в качестве входных данных и целевую XML-схему в качестве выходных данных. Вы можете задать простое преобразование, например, копирование имени и адреса из одного документа в другой. Но вы также можете создавать и более сложные преобразования с помощью операций сопоставления, предоставляемых изначально. Вы можете использовать разные встроенные функции, помогающие работать с данными и управлять ими, включая действия со строками, условные назначения, арифметические выражения, модули форматирования даты и времени и даже циклические конструкции.
Например, предположим, что вы регулярно получаете заказы или счета B2B от клиента, который использует формат даты YearMonthDay (ГГГГММДД). Однако ваша организация использует дату в формате МесяцДеньГод (ММДДГГГГ). Вы можете определить и использовать карту, которая преобразует формат ГГГГММДД в формат ММДДГГГГ перед сохранением деталей заказа или счета в базе данных действий клиентов.
В этом руководстве показано, как добавить карту для используемого рабочего процесса. Вы можете добавить карты в связанную учетную запись интеграции или, если у вас есть стандартное приложение логики, вы можете добавить карты непосредственно в ресурс приложения логики.
Предварительные условия
Учетная запись и подписка Azure. Если у вас еще нет подписки, зарегистрируйтесь и получите бесплатную учетную запись Azure.
Карта, которую вы хотите отправить.
Процессы потребления поддерживают следующие типы карт: Liquid, XSLT, XSLT 2.0, XSLT 3.0 или HIDX.
Стандартные рабочие процессы поддерживают следующие типы карт: XSLT, XSLT 2.0 и XSLT 3.0.
Для создания карт можно использовать любой из следующих средств:
Visual Studio Code и расширение Data Mapper. Чтобы вызвать карты, созданные с помощью Data Mapper из рабочего процесса, необходимо использовать действие "Операции сопоставления данных", названное "Преобразование с помощью Data Mapper XSLT", а не действие "XML Операции" с именем "Transform XML". Дополнительные сведения см. в статье "Создание карт для преобразования данных с помощью Visual Studio Code".
Visual Studio 2019 и расширение Средств интеграции Microsoft Azure Logic Apps Enterprise.
Примечание.
Не устанавливайте расширение Microsoft Azure Logic Apps Enterprise Integration Tools вместе с расширением BizTalk Server. Наличие обоих расширений может привести к непредвиденному поведению. Убедитесь, что установлено только одно из этих расширений.
На мониторах с высоким разрешением может возникнуть проблема с отображением конструктора карт в Visual Studio. Чтобы устранить эту проблему, перезапустите Visual Studio в режиме, не поддерживающем DPI, либо добавьте значение реестра DPIUNAWARE.
Дополнительные сведения см. в разделе Создание сопоставлений в этой статье.
В зависимости от того, работаете ли вы над рабочим процессом приложения логики категории "Потребление" или "Стандартный", вам потребуется ресурс учетной записи интеграции. Как правило, этот ресурс требуется при определении и хранении артефактов для использования в рабочих процессах интеграции предприятия и совместной работы B2B.
Внимание
Чтобы работать вместе, как ваша учетная запись интеграции, так и ресурс логического приложения должны существовать в одной подписке Azure и регионе Azure.
Для рабочего процесса приложения логики потребления вам потребуется учетная запись интеграции, связанная с ресурсом приложения логики.
Для стандартного рабочего процесса логического приложения вы можете связать учетную запись интеграции с ресурсом логического приложения, загрузить схемы непосредственно в ресурс логического приложения или сделать и то, и другое в зависимости от следующих сценариев:
Если у вас уже есть учетная запись интеграции с нужными или используемыми артефактами, можно связать учетную запись интеграции с несколькими ресурсами приложения логики уровня "Стандартный", где вы хотите использовать артефакты. Таким образом, вам не нужно отправлять сопоставления в каждое логическое приложение. Дополнительные сведения см. в статье Связывание ресурса приложения логики с учетной записью интеграции.
Встроенный соединитель Liquid позволяет выбрать карту, которую вы ранее отправили в ресурс логического приложения или связанную учетную запись интеграции, но не одновременно.
Таким образом, если у вас отсутствует или не требуется учетная запись интеграции, вы можете использовать вариант с отправкой. В противном случае можно использовать опцию связывания. В любом случае, вы можете использовать эти артефакты во всех дочерних рабочих процессах в пределах одного ресурса логического приложения.
Процессы потребления и стандартные рабочие процессы поддерживают схемы, которые ссылаются на внешние сборки и позволяют напрямую вызывать пользовательский код .NET из этих схем. Для поддержки этой возможности рабочие процессы потребления также имеют следующие требования:
Вам требуется 64-разрядная сборка. Служба преобразования выполняет 64-разрядный процесс, поэтому 32-разрядные сборки не поддерживаются. Если у вас исходный код для 32-разрядной сборки, выполните повторную компиляцию кода в 64-разрядную сборку. Если у вас нет исходного кода, но вы получили двоичный файл от другого поставщика, получите 64-разрядную версию от этого поставщика. Например, некоторые поставщики предлагают сборки в пакетах, где есть как 32-разрядная, так и 64-разрядная версии. Если у вас есть соответствующая возможность, используйте 64-разрядную сборку.
Вы должны загрузить и сборку, и карту в определенном порядке в свою учетную запись интеграции. Убедитесь, что вы сначала загрузите сборку, после чего загрузите карту, которая ссылается на сборку.
Если ваша сборка или сопоставление имеет размер 2 МБ или меньше, вы можете добавить свою сборку и сопоставление в учетную запись интеграции непосредственно на портале Azure.
Если сборка больше 2 МБ, но не больше чем ограничение размера для сборок, вам потребуется учетная запись хранения Azure и контейнер BLOB-объектов для отправки в него сборки. Вы сможете указать расположение контейнера позже — при добавлении сборки в учетную запись интеграции. Для этой задачи в следующей таблице описаны необходимые элементы:
Элемент Описание Учетная запись хранения Azure В этом аккаунте создайте контейнер Blob Azure для вашего проекта. Узнайте, как создать учетную запись хранения. Контейнер блоб-объектов В этот контейнер можно загрузить сборку. Вам также понадобится расположение URI содержимого этого контейнера при добавлении сборки в учетную запись интеграции. Узнайте, как создать контейнер объектов blob. Обозреватель службы хранилища Azure Это средство упрощает управление учетными записями хранения и BLOB-контейнерами. Чтобы использовать обозреватель службы хранилища, скачайте и локально установите обозреватель службы хранилища Azure. Затем подключите Обозреватель службы хранилища к учетной записи хранения, следуя шагам из статьи Начало работы с Обозревателем службы хранилища. Дополнительные сведения см. в кратком руководстве по созданию большого двоичного объекта в хранилище объектов с помощью обозревателя службы хранилища Azure. Для добавления больших карт используйте REST API Azure Logic Apps – Карты. Для рабочих процессов уровня "Стандартный" интерфейс REST API Azure Logic Apps в настоящее время недоступен.
Ограничения
Ограничения применяются к некоторым артефактам, например сопоставлениям, в каждой отдельной учетной записи интеграции. Дополнительные сведения см. в статье Ограничения и сведения о конфигурации для Azure Logic Apps.
В зависимости от того, работаете ли вы над рабочим процессом приложения логики уровня "Потребление" или "Стандартный", применяются следующие ограничения:
Рабочие процессы потребления
Azure Logic Apps выделяет ограниченный объем памяти для обработки преобразований XML. Если вы создаете рабочие процессы с использованием уровня "Потребление", и преобразования карты или полезной нагрузки имеют высокий уровень потребления памяти, такие преобразования могут закончиться сбоем, вызванным ошибками из-за нехватки памяти. Чтобы избежать этого, рассмотрите описанные ниже варианты.
Измените карты или нагрузки, чтобы уменьшить потребление памяти.
Создайте рабочие процессы приложения логики уровня "Стандартный", которые выполняются в Azure Logic Apps с одним клиентом и предлагают выделенные и гибкие варианты для вычислительных ресурсов и ресурсов памяти.
Стандартные рабочие процессы поддерживают меньше типов карт, чем рабочие процессы потребления, но ограничения не применяются к размерам файлов карты. Дополнительные сведения см. в разделе Необходимые условия.
Создание карт
Вы можете создавать карты с помощью Visual Studio Code с расширением Data Mapper или Visual Studio с расширением Microsoft Azure Logic Apps Enterprise Integration Tools.
Visual Studio Code
При создании карт с помощью Visual Studio Code и расширения "Сопоставление данных" эти карты можно вызывать из рабочего процесса, но только с операцией "Операции сопоставления данных" с именем "Преобразование с помощью средства сопоставления данных XSLT", а не с операцией "XML Operations" с именем "Преобразование XML". Дополнительные сведения см. в статье "Создание карт для преобразования данных с помощью Visual Studio Code".
Visual Studio
Если вы создаете карты с Помощью Visual Studio, вам потребуется создать проект интеграции с Visual Studio 2019 и расширением Microsoft Azure Logic Apps Enterprise Integration Tools.
В проекте интеграции можно создать файл сопоставления интеграции, чтобы визуально сопоставить элементы в двух файлах схем XML. Эти средства предоставляют следующие возможности работы с картами:
Вы работаете с графическим представлением карты, которое показывает все создаваемые вами отношения и связи.
Можно создать прямую копию данных между схемами XML, которые используются для создания карты. Пакет SDK для корпоративной интеграции для Visual Studio включает средство сопоставления, которое делает эту задачу такой же простой, как рисование линии, соединяющей элементы исходной схемы XML с их аналогами в целевой схеме XML.
Доступны операции или функции для нескольких карт, включая строковые функции, функции даты, времени и т. д.
Чтобы добавить образец сообщения XML, вы можете использовать возможность тестирования карты. Одним движением мыши вы можете протестировать созданную карту и просмотреть сгенерированный результат.
После создания этого проекта вы получите XSLT-документ.
Ваша карта должна иметь следующие атрибуты и раздел CDATA
, содержащий вызов ассемблерного кода.
name
— имя пользовательской сборки.namespace
— это пространство имен в вашей сборке, которое включает настраиваемый код.
В следующем примере показана карта, которая ссылается на сборку с именем XslUtilitiesLib и вызывает circumference
метод из сборки.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="user">
<msxsl:assembly name="XsltHelperLib"/>
<msxsl:using namespace="XsltHelpers"/>
<![CDATA[public double circumference(int radius){ XsltHelper helper = new XsltHelper(); return helper.circumference(radius); }]]>
</msxsl:script>
<xsl:template match="data">
<circles>
<xsl:for-each select="circle">
<circle>
<xsl:copy-of select="node()"/>
<circumference>
<xsl:value-of select="user:circumference(radius)"/>
</circumference>
</circle>
</xsl:for-each>
</circles>
</xsl:template>
</xsl:stylesheet>
Добавление сборок, на которые делаются ссылки
Ресурс приложения логики потребления поддерживает ссылки на внешние сборки из карт, которые позволяют напрямую вызывать пользовательский код .NET из карт.
В поле поиска на портале Azure введите Учетные записи интеграции и выберите Учетные записи интеграции.
Выберите учетную запись интеграции, в которую вы хотите добавить свою сборку.
В меню учетной записи интеграции выберите "Обзор". В разделе Параметры выберите Сборки.
На панели инструментов "Сборки" нажмите кнопку "Добавить".
В зависимости от размера файла сборки выполните шаги по отправке сборки размером до 2 МБ или более 2 МБ, но до 8 МБ. Дополнительные сведения об ограничениях на количество сборок в учетных записях интеграции см. в статье Ограничения и сведения о конфигурации для Azure Logic Apps.
Примечание.
При изменении сборки необходимо всегда обновлять карту независимо от того, вносились ли в нее изменения.
Добавьте сборки размером до 2 МБ
В разделе Добавить сборку введите имя сборки. Оставьте выбранным параметр Мелкий файл. Выберите значок папки рядом с полем Сборка. Найдите и выберите сборку, которую вы загружаете.
Имя файла выбранной сборки автоматически отображается в свойстве Имя сборки.
По завершении нажмите кнопку OK.
Когда файл сборки будет отправлен, сборка появится в списке Сборки. На странице обзора учетной записи интеграции в разделе "Артефакты" также появится отправленная сборка.
Добавление сборок размером более 2 МБ
Чтобы добавить объемные сборки, отправьте свою сборку в контейнер больших двоичных объектов Azure в учетной записи хранения Azure. Ваши действия по добавлению сборок будут отличаться в зависимости от наличия общего доступа на чтение к BLOB-контейнеру. Сначала проверьте, есть ли у вашего контейнера BLOB-объектов открытый доступ на чтение, выполнив следующие действия: Настройка уровня общего доступа для контейнера больших двоичных объектов
Проверка уровня доступа к контейнеру
Откройте обозреватель службы хранилища Azure. В окне обозревателя разверните подписку Azure.
Разверните учетные записи хранения><storage-account-name>>контейнеры BLOB-объектов. Выберите свой контейнер BLOB.
В контекстном меню контейнера больших двоичных объектов выберите Set Public Access Level (Настроить уровень общего доступа).
Если у контейнера больших двоичных объектов есть хотя бы общий доступ, щелкните Отменить и выполните действия, приведенные ниже на этой странице в разделе Отправка в контейнеры с общим доступом.
Если у контейнера BLOB отсутствует общедоступный доступ, выберите Отменить и следуйте этим шагам на этой странице: Загрузка в контейнеры без общедоступного доступа.
Загрузка данных в контейнеры с общим доступом
Чтобы загрузить сборку в контейнер блобов, выполните следующие действия.
Откройте обозреватель службы хранилища Azure, если он еще не открыт. В окне обозревателя разверните подписку Azure.
Разверните учетные записи хранения><имя-учетной-записи-хранения>>контейнеры BLOB-объектов. Выберите BLOB-контейнер, в котором нужно добавить сборку.
На панели инструментов контейнера BLOB-объектов выберите "Отправить>файлы". В поле "Отправить файлы" перейдите к файлу сборки и выберите его. Когда вы будете готовы, нажмите кнопку "Отправить".
После завершения отправки откройте контекстное меню для отправленной сборки и выберите "Копировать URL-адрес".
Вернитесь на портал Azure, где открыта панель Добавление сборки. Введите имя сборки. Выберите Большой файл (более 2 МБ).
Теперь отображается поле URI содержимого, а не Сборка.
В поле URI содержимого вставьте URL-адрес своей сборки. Завершите добавление своей сборки.
Когда сборка будет отправлена, она появится в списке Сборки. На странице Обзор учётной записи интеграции в разделе Артефакты также появится ваша загруженная сборка.
Загрузка в контейнеры без публичного доступа
Чтобы загрузить сборку в контейнер BLOB, выполните следующие действия.
Откройте обозреватель службы хранилища Azure, если он еще не открыт. В окне обозревателя разверните подписку Azure.
Разверните учетные записи хранения><storage-account-name>>контейнеры BLOB-объектов. Выберите контейнер BLOB, в который вы хотите добавить сборку.
На панели инструментов контейнера BLOB-объектов выберите "Отправить>файлы". В поле "Отправить файлы" перейдите к файлам сборки и выберите их. Когда вы будете готовы, нажмите кнопку "Отправить".
После отправки создайте подписанный URL-адрес сборки. В контекстном меню сборки щелкните Get Shared Access Signature (Получить подписанный URL-адрес).
В поле подписи общего доступа выполните обзор доступных параметров. Когда будете готовы, нажмите Создать. После создания URL-адреса SAS в обозревателе службы хранилища в поле URL-адреса нажмите кнопку "Копировать".
Вернитесь на портал Azure, где открыта вкладка Добавление сборки. Введите имя сборки. Выберите Большой файл (более 2 МБ).
Теперь отображается поле URI содержимого вместо поля Сборка.
В поле URI содержимого вставьте созданный ранее URI SAS. Завершите добавление своей сборки.
Когда сборка будет отправлена, она появится в списке Сборки. Отправленная сборка также появится на странице Обзор учетной записи интеграции в разделе Артефакты.
Добавление карт
Если вы работаете с процессом Consumption, необходимо добавить вашу карту в связанную учетную запись интеграции.
Если вы работаете с рабочим процессом уровня "Стандартный", у вас есть следующие варианты:
Добавьте вашу карту в связанную учетную запись для интеграции. Вы можете поделиться картой и учетной записью интеграции в нескольких ресурсах стандартного приложения логики и их дочерних рабочих процессах.
Добавить сопоставление непосредственно в ресурс приложения логики. Однако эту карту можно разделять только в дочерних рабочих процессах внутри одного ресурса логического приложения.
Добавить карту в учетную запись интеграции
Войдите на портал Azure с помощью учетных данных учетной записи Azure.
В поле поиска на портале Azure введите текст учетные записи интеграции и выберите элемент Учетные записи интеграции.
Найдите и выберите учетную запись интеграции.
В меню учетной записи интеграции в разделе "Параметры" выберите "Карты".
На панели инструментов страницы "Карты" нажмите кнопку "Добавить".
Для рабочих процессов уровня «Потребление» выполните действия по загрузке карты в зависимости от ее размера: до 2 МБ или более 2 МБ.
Добавление карт размером до 2 МБ
В области Добавление карты введите уникальное имя карты.
В разделе Тип карты выберите тип, например, Liquid, XSLT, XSLT 2.0, XSLT 3.0 или HIDX.
Выберите значок папки рядом с полем Карта. Выберите карту для отправки и нажмите кнопку "Открыть".
Если оставить свойство Имя пустым, имя файла карты автоматически появится в этом свойстве после выбора файла карты.
По завершении нажмите кнопку OK.
Когда файл карты будет отправлен, карта появится в списке Карты. Если карта не отображается, на панели инструментов "Карты " нажмите кнопку "Обновить". На странице обзора учетной записи интеграции в разделе "Артефакты" также появится отправленная карта.
Добавление карт размером более 2 МБ
Чтобы добавить более крупные сопоставления для рабочих процессов уровня "Потребление", используйте REST API Azure Logic Apps для сопоставлений.
Добавить карту в ресурс логического приложения уровня Стандартных
Следующие шаги применимы только в том случае, если вы хотите добавить карту непосредственно в ресурс стандартного приложения логики. В противном случае добавьте карту в свою учетную запись интеграции.
Портал Azure
В меню приложения логики в разделе "Артефакты" выберите "Карты".
На панели инструментов страницы "Карты" нажмите кнопку "Добавить".
В области добавления карты введите уникальное имя карты и добавьте расширение файла, например XSLT, HIDX или .liquid.
Выберите значок папки рядом с полем Карта. Выберите карту для отправки.
По завершении нажмите кнопку OK.
Когда файл карты будет отправлен, карта появится в списке Карты. Отправленная карта также появится на странице Обзор учетной записи интеграции в разделе Артефакты.
Visual Studio Code
На компьютере перейдите в папку проекта Local и разверните следующие папки: Artifacts>Maps.
В папке Maps добавьте файл карты.
Вернитесь в Visual Studio Code.
Файл карты теперь отображается в проекте, например:
Изменение карты
Чтобы обновить имеющуюся карту, нужно отправить новый файл карты с необходимыми изменениями. Однако сначала вы можете скачать имеющуюся карту для редактирования.
На портале Azure откройте свою учетную запись интеграции, если она еще не открыта.
В меню учетной записи интеграции в разделе "Параметры" выберите "Карты".
После открытия страницы "Карты" выберите карту. Чтобы сначала скачать и изменить карту, на панели инструментов страницы "Карты " выберите "Скачать" и сохраните карту.
Когда вы будете готовы отправить обновленную карту, на странице "Карты " выберите карту, которую вы хотите обновить. На панели инструментов страницы "Карты" нажмите кнопку "Обновить".
Найдите и выберите обновленную карту, которую требуется отправить.
После отправки файла карты обновленная карта появится в списке Карты.
Удаление карты
На портале Azure откройте свою учетную запись интеграции, если она еще не открыта.
В меню учетной записи интеграции в разделе "Параметры" выберите "Карты".
После открытия страницы "Карты" выберите карту и нажмите кнопку "Удалить".
Чтобы подтвердить удаление карты, выберите Да.