Подключение Хранилище BLOB-объектов Azure из рабочих процессов в Azure Logic Apps

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

В этом руководстве показано, как получить доступ к учетной записи Хранилище BLOB-объектов Azure и контейнеру из рабочего процесса в Azure Logic Apps с помощью соединителя Хранилище BLOB-объектов Azure. Этот соединитель предоставляет триггеры и действия, которые рабочий процесс может использовать для операций BLOB-объектов. Затем можно создать автоматизированные рабочие процессы, которые выполняются при активации событий в контейнере хранилища или в других системах, а также выполнять действия для работы с данными в контейнере хранилища. Например, вы можете получить доступ к файлам, хранящимся в качестве BLOB-объектов в учетной записи хранения Azure, и управлять ими.

Вы можете подключиться к Хранилище BLOB-объектов Azure из рабочего процесса в типах ресурсов приложения логики (потребления) и приложения логики (стандартный). Соединитель можно использовать с рабочими процессами приложения логики в мультитенантных Azure Logic Apps, однотенантных Azure Logic Apps и среде службы интеграции (ISE). С помощью приложения логики (стандартный) можно использовать встроенные операции соединителя BLOB-объектов Azure или Хранилище BLOB-объектов Azure управляемых соединителей.

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

Соединитель Хранилище BLOB-объектов Azure имеет разные версии, основанные на типе приложения логики и среде узла.

Приложение логики Среда Версия соединителя
Потребление Мультитенантные Azure Logic Apps Управляемый соединитель (класс Standard). Дополнительные сведения см. в следующей документации:

- справочник по управляемому соединителю Хранилище BLOB-объектов Azure
- Управляемые соединители в Azure Logic Apps
Потребление Среда службы интеграции (ISE) Управляемый соединитель (стандартный класс) и версия ISE, которая имеет разные ограничения сообщений, отличные от класса Standard. Дополнительные сведения см. в следующей документации:

- справочник по управляемому соединителю Хранилище BLOB-объектов Azure
- Ограничения для сообщений ISE
- Управляемые соединители в Azure Logic Apps
Стандартные Azure Logic Apps с одним клиентом и Среда службы приложений версии 3 (только планы Windows) Управляемый соединитель (размещенный в Azure) и встроенный соединитель, основанный на поставщике услуг. Встроенная версия отличается следующим образом:

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

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

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

- справочник по управляемому соединителю Хранилище BLOB-объектов Azure
- Справочник по встроенному соединителю BLOB-объектов Azure
- Встроенные соединители в Azure Logic Apps

Ограничения

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

  • Хранилище BLOB-объектов Azure действия управляемого соединителя могут считывать или записывать файлы размером 50 МБ или меньше. Для обработки файлов размером более 50 МБ (но не более 1024 МБ) действия Хранилища BLOB-объектов Azure поддерживают фрагментацию сообщений. Действие служба хранилища БОЛЬШОго двоичного объекта с именем Get BLOB-объекта неявно использует блокирование.

  • Хотя управляемые и встроенные триггеры Хранилище BLOB-объектов Azure не поддерживают фрагментирование, встроенные триггеры могут обрабатывать файлы, которые имеют 50 МБ или более. Однако, когда управляемый триггер запрашивает содержимое файла, триггер выбирает только файлы, 50 МБ или меньше. Чтобы получить файлы размером более 50 МБ, следуйте приведенному ниже шаблону:

    1. Используйте триггер БОЛЬШОго двоичного объекта, который возвращает свойства файла, например при добавлении или изменении большого двоичного объекта (только свойств).

    2. Следуйте триггеру с помощью действия управляемого соединителя Хранилище BLOB-объектов Azure с именем Get BLOB-объекта, которое считывает полный файл и неявно использует фрагментирование.

  • ограничения триггеров Хранилище BLOB-объектов Azure

    • Триггер управляемого соединителя ограничен 30 000 большими двоичными объектами в виртуальной папке опроса.
    • Встроенный триггер соединителя ограничен 10 000 большими двоичными объектами во всем контейнере опроса.

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

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

Добавление триггера BLOB-объекта

Рабочий процесс приложения логики потребления может использовать только управляемый соединитель Хранилище BLOB-объектов Azure. Однако рабочий процесс приложения логики уровня "Стандартный" может использовать управляемый соединитель Хранилище BLOB-объектов Azure и встроенный соединитель BLOB-объектов Azure. Хотя обе версии соединителя предоставляют только один триггер БОЛЬШОго двоичного объекта, имя триггера отличается следующим образом, в зависимости от того, работаете ли вы с рабочим процессом "Потребление" или "Стандартный":

Приложение логики Версия соединителя Имя триггера Description
Потребление Только управляемый соединитель При добавлении или изменении большого двоичного объекта (только свойств) Триггер запускается при добавлении или обновлении свойств большого двоичного объекта в корневой папке контейнера хранилища. При настройке управляемого триггера управляемая версия игнорирует существующие большие двоичные объекты в контейнере хранилища.
Стандартные — встроенный соединитель

— Управляемый соединитель
— Встроенная : при добавлении или обновлении большого двоичного объекта

— Управляемое: при добавлении или изменении большого двоичного объекта (только свойств)
— Встроенный: триггер запускается при добавлении или обновлении большого двоичного объекта в контейнере хранилища и запускается для всех вложенных папок в контейнере хранилища, а не только корневой папки. При настройке встроенного триггера встроенная версия обрабатывает все существующие большие двоичные объекты в контейнере хранилища.

— Управляемый: триггер запускается при добавлении или обновлении свойств большого двоичного объекта в корневой папке контейнера хранилища. При настройке управляемого триггера управляемая версия игнорирует существующие большие двоичные объекты в контейнере хранилища.

Следующие шаги используют портал Azure, но с соответствующим расширением Azure Logic Apps можно также использовать следующие средства для создания рабочих процессов приложения логики:

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

  2. В конструкторе в поле поиска выберите "Стандартный" и выполните следующие общие действия, чтобы добавить нужный триггер Хранилище BLOB-объектов Azure.

    Этот пример продолжается с триггером с именем "При добавлении или изменении большого двоичного объекта" (только свойств).

  3. При появлении запроса укажите следующие сведения о подключении к учетной записи хранения. По завершении нажмите Создать.

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

    Например, это подключение использует проверку подлинности ключа доступа и предоставляет значение ключа доступа для учетной записи хранения вместе со следующими значениями свойств:

    Свойство Обязательное поле значение Описание
    имя учетной записи служба хранилища Azure Да, но только для проверки подлинности ключа доступа <storage-account-name> Имя учетной записи хранения Azure, в которой существует контейнер BLOB-объектов.

    Примечание. Чтобы найти имя учетной записи хранения, откройте ресурс учетной записи хранения в портал Azure. В меню ресурсов в разделе "Безопасность и сеть" выберите ключи доступа. В разделе служба хранилища имени учетной записи скопируйте и сохраните имя.
    ключ доступа к учетной записи служба хранилища Azure Да
    но только для проверки подлинности ключа доступа
    <ключ доступа к учетной записи хранения> Ключ доступа для учетной записи хранения Azure.

    Примечание. Чтобы найти ключ доступа, откройте ресурс учетной записи хранения в портал Azure. В меню ресурсов в разделе "Безопасность и сеть" выберите "Ключи доступа", "Показать ключи>доступа".> Скопируйте и сохраните значение первичного ключа.

    Screenshot showing Consumption workflow, Azure Blob Storage trigger, and example connection information.

  4. После появления поля сведений о триггере укажите необходимые сведения.

    Для значения свойства контейнера выберите значок папки, чтобы найти контейнер BLOB-объектов. Или введите путь вручную с помощью синтаксиса /<container-name>, например:

    Screenshot showing Consumption workflow with Azure Blob Storage trigger, and example trigger information.

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

    Дополнительные сведения см. в Хранилище BLOB-объектов Azure свойства триггера управляемого соединителя.

  6. Добавьте любые другие действия, необходимые рабочему процессу.

  7. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

Добавление действия BLOB-объекта

Рабочий процесс приложения логики потребления может использовать только управляемый соединитель Хранилище BLOB-объектов Azure. Однако рабочий процесс приложения логики уровня "Стандартный" может использовать управляемый соединитель Хранилище BLOB-объектов Azure и встроенный соединитель BLOB-объектов Azure. Каждая версия имеет несколько, но по-разному именованные действия. Например, у управляемых и встроенных версий соединителей есть собственные действия для получения метаданных файла и получения содержимого файла.

  • Действия управляемого соединителя: эти действия выполняются в рабочем процессе "Потребление" или "Стандартный".

  • Встроенные действия соединителя: эти действия выполняются только в стандартном рабочем процессе.

Следующие действия используют портал Azure, но с соответствующим расширением Azure Logic Apps можно также использовать следующие средства для создания и редактирования рабочих процессов приложения логики:

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

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

    В этом примере используется триггер повторения.

  3. В конструкторе выполните следующие общие действия, чтобы найти и добавить нужное Хранилище BLOB-объектов Azure управляемое действие.

    В этом примере продолжается действие с именем Get BLOB-объектов.

  4. При появлении запроса укажите следующие сведения для подключения. По завершении нажмите Создать.

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

    Например, это подключение использует проверку подлинности ключа доступа и предоставляет значение ключа доступа для учетной записи хранения вместе со следующими значениями свойств:

    Свойство Обязательное поле значение Описание
    имя учетной записи служба хранилища Azure Да
    но только для проверки подлинности ключа доступа
    <storage-account-name> Имя учетной записи хранения Azure, в которой существует контейнер BLOB-объектов.

    Примечание. Чтобы найти имя учетной записи хранения, откройте ресурс учетной записи хранения в портал Azure. В меню ресурсов в разделе "Безопасность и сеть" выберите ключи доступа. В разделе служба хранилища имени учетной записи скопируйте и сохраните имя.
    ключ доступа к учетной записи служба хранилища Azure Да
    но только для проверки подлинности ключа доступа
    <ключ доступа к учетной записи хранения> Ключ доступа для учетной записи хранения Azure.

    Примечание. Чтобы найти ключ доступа, откройте ресурс учетной записи хранения в портал Azure. В меню ресурсов в разделе "Безопасность и сеть" выберите "Ключи доступа", "Показать ключи>доступа".> Скопируйте и сохраните значение первичного ключа.

    Screenshot showing Consumption workflow, Azure Blob action, and example connection information.

  5. В поле сведений о действии укажите необходимые сведения.

    Например, в действии "Получить содержимое BLOB-объектов" укажите имя учетной записи хранения. Для значения свойства BLOB-объекта щелкните значок папки, чтобы найти контейнер хранилища или папку. Путь также можно ввести вручную.

    Задача Синтаксис пути большого двоичного объекта
    Получите содержимое из определенного большого двоичного объекта в корневой папке. /<container-name>/<blob-name>
    Получите содержимое из определенного большого двоичного объекта в вложенной папке. /<container-name>/subfolder>/<<blob-name>

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

    Screenshot showing Consumption workflow with Blob action setup for root folder.

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

    Screenshot showing Consumption workflow with Blob action setup for subfolder.

  6. Добавьте любые другие действия, необходимые рабочему процессу.

  7. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

Доступ к учетным записям хранения, защищенным брандмауэром

Вы можете добавить сетевую безопасность в учетную запись хранения Azure, запретив доступ с помощью брандмауэра и правил брандмауэра. Однако такая настройка создает сложности для Azure и других служб Майкрософт, которым требуется доступ к учетной записи хранения. Локальная связь в центре обработки данных абстрагирует внутренние IP-адреса, поэтому только разрешение трафика через IP-адреса может быть недостаточно, чтобы разрешить обмен данными через брандмауэр. На основе используемого соединителя Хранилище BLOB-объектов Azure доступны следующие параметры:

Доступ к учетным записям хранения в других регионах

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

Примечание.

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

Чтобы добавить исходящие IP-адреса в брандмауэр учетной записи хранения, выполните следующие действия.

  1. Обратите внимание на исходящие IP-адреса управляемого соединителя для региона ресурса приложения логики.

  2. В портал Azure найдите и откройте ресурс учетной записи хранения.

  3. В меню навигации учетной записи хранения в разделе "Безопасность и сеть" выберите "Сеть".

    1. В разделе "Разрешить доступ" выберите выбранные сети, в которых показаны соответствующие параметры.

    2. В разделе Брандмауэр добавьте IP-адреса или диапазоны, которым требуется доступ. Если вам нужно получить доступ к учетной записи хранения с компьютера, выберите " Добавить IP-адрес клиента".

      Screenshot of blob storage account networking page in Azure portal, showing firewall settings to add IP addresses and ranges to the allowlist.

    3. По завершении выберите Сохранить.

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

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

    Вы можете поместить учетную запись хранения в виртуальную сеть Azure, создав частную конечную точку, а затем добавьте эту виртуальную сеть в список доверенных виртуальных сетей. Чтобы обеспечить доступ приложения логики к учетной записи хранения через доверенную виртуальную сеть, необходимо развернуть это приложение в среде службы интеграции (ISE), которая может подключаться к ресурсам в виртуальной сети. Затем можно добавить подсети из этой среды ISE в список доверенных. Соединители хранилища на основе ISE, такие как соединитель с версией ISE, Хранилище BLOB-объектов Azure, могут напрямую получить доступ к контейнеру хранилища. Эта настройка аналогична использованию конечных точек службы из среды ISE.

  • Приложение логики и учетная запись хранения существуют в разных регионах.

    Вам не нужно создавать частную конечную точку. Вы можете просто разрешить трафик через исходящие IP-адреса ISE в учетной записи хранения.

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

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

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

  • Приложение логики и учетная запись хранения существуют в разных регионах.

    Вам не нужно создавать частную конечную точку. Вы можете просто разрешить трафик через исходящие IP-адреса ISE в учетной записи хранения.

Доступ к служба хранилища BLOB-объектов в одном регионе с удостоверениями, управляемыми системой

Чтобы подключиться к Хранилище BLOB-объектов Azure в любом регионе, можно использовать управляемые удостоверения для проверки подлинности. Вы можете создать исключение, разрешающее доверенным службам Майкрософт, таким как управляемые удостоверения, доступ к учетной записи хранения через брандмауэр.

Примечание.

Это решение не относится к приложениям логики уровня "Стандартный". Даже если вы используете управляемое удостоверение, назначаемое системой, с приложением логики "Стандартный", Хранилище BLOB-объектов Azure управляемый соединитель не может подключиться к учетной записи хранения в том же регионе.

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

  1. Настройте доступ к учетной записи хранения.

  2. Создайте назначение ролей для приложения логики.

  3. Включите поддержку управляемого удостоверения в приложении логики.

Примечание.

Это решение имеет следующие ограничения:

Для проверки подлинности подключения учетной записи хранения необходимо настроить управляемое удостоверение, назначаемое системой. Управляемое удостоверение, назначаемое пользователем, не будет работать.

Настройка доступа к учетной записи хранения

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

  1. В портал Azure найдите и откройте ресурс учетной записи хранения.

  2. В меню навигации учетной записи хранения в разделе "Безопасность и сеть" выберите "Сеть".

    1. В разделе "Разрешить доступ" выберите выбранные сети, в которых показаны соответствующие параметры.

    2. Если вам нужно получить доступ к учетной записи хранения с компьютера, в разделе "Брандмауэр" выберите " Добавить IP-адрес клиента".

    3. В разделе "Исключения" выберите "Разрешить доверенным службы Майкрософт для доступа к этой учетной записи хранения".

      Screenshot showing Azure portal and Blob Storage account networking pane with allow settings.

    4. По завершении выберите Сохранить.

Примечание.

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

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

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

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

  1. Откройте ресурс приложения логики на портале Azure.

  2. В меню навигации по ресурсам приложения логики в разделе Параметры выберите "Удостоверение".

  3. На панели "Назначаемая системой" установите значение "Состояниевключено", если оно еще не включено, нажмите кнопку "Сохранить" и подтвердите изменения. В разделе Разрешения выберите Назначения ролей Azure.

    Screenshot showing the Azure portal and logic app resource menu with the 'Identity' settings pane and 'Azure role assignment permissions' button.

  4. В области Назначения ролей Azure выберите Добавить назначение ролей.

    Screenshot showing the logic app role assignments pane with the selected subscription and button to add a new role assignment.

  5. На панели "Добавление назначений ролей" настройте новое назначение роли со следующими значениями:

    Свойство Значение Описание
    Область применения <resource-область> Набор ресурсов, в котором требуется применить назначение роли. В этом примере выберите служба хранилища.
    Подписка <Подписка Azure> Подписка Azure для учетной записи хранения.
    Ресурс <storage-account-name> Имя учетной записи хранения, к которой требуется получить доступ из рабочего процесса приложения логики.
    Роль <role-to-assign> Роль, требуемая для работы рабочего процесса с ресурсом. В этом примере требуется служба хранилища участник данных BLOB-объектов, который позволяет читать, записывать и удалять доступ к контейнерам BLOB-объектов и дате. Для получения сведений о разрешениях переместите указатель мыши на значок сведений рядом с ролью в раскрывающемся меню.

    Screenshot of role assignment configuration pane, showing settings for scope, subscription, resource, and role.

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

Включение поддержки управляемых удостоверений в приложении логики

Затем выполните следующие действия.

  1. Если у вас есть пустой рабочий процесс, добавьте триггер соединителя Хранилище BLOB-объектов Azure. В противном случае добавьте действие соединителя Хранилище BLOB-объектов Azure. Убедитесь, что вы создаете новое подключение для триггера или действия, а не используете существующее соединение.

  2. Убедитесь, что тип проверки подлинности задан для использования управляемого удостоверения.

  3. После настройки триггера или действия можно сохранить рабочий процесс и проверить триггер или действие.

Устранение неполадок с доступом к учетным записям хранения

  • "Этот запрос не авторизован для выполнения этой операции".

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

    {
       "status": 403,
       "message": "This request is not authorized to perform this operation.\\r\\nclientRequestId: a3da2269-7120-44b4-9fe5-ede7a9b0fbb8",
       "error": {
          "message": "This request is not authorized to perform this operation."
       },
       "source": "azureblob-ase.azconn-ase.p.azurewebsites.net"
    }
    

Ошибки Аналитика приложения

  • Ошибки 404 и 409

    Если рабочий процесс уровня "Стандартный" использует встроенное действие Большого двоичного объекта Azure, которое добавляет большой двоичный объект в контейнер хранилища, может возникнуть ошибка 404 и 409 в приложении Аналитика для неудачных запросов. Эти ошибки ожидаются, так как соединитель проверка, существует ли файл БОЛЬШОго двоичного объекта перед добавлением большого двоичного объекта. Ошибки приводят к тому, что файл не существует. Несмотря на эти ошибки, встроенное действие успешно добавляет большой двоичный объект.

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