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


Подключение к базам данных SQL из рабочих процессов в Azure Logic Apps

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

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

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

Если вы не знакомы с Azure Logic Apps, ознакомьтесь со следующими статьями, чтобы приступить к работе:

Поддерживаемые выпуски SQL

Соединитель SQL Server поддерживает следующие выпуски SQL:

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

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

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

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

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

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

- Справочник по управляемому соединителю SQL Server
- Справочник по встроенному соединителю SQL Server
- Встроенные соединители в Azure Logic Apps

Ограничения

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

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

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

  • База данных SQL Server, База данных SQL Azure или Управляемый экземпляр SQL.

    Соединитель SQL Server требует, чтобы таблицы содержали данные, чтобы операции соединителя могли возвращать результаты при вызове. Например, если вы используете База данных SQL Azure, можно использовать включенные примеры баз данных, чтобы попробовать операции соединителя SQL Server.

  • Сведения, необходимые для создания подключения к базе данных SQL, например имя сервера SQL и базы данных. Если вы используете проверку подлинности Windows или проверку подлинности SQL Server для проверки подлинности, вам также потребуется имя пользователя и пароль. Обычно эти сведения можно найти в строка подключения.

    Внимание

    Если вы используете строку подключения SQL Server, скопированную непосредственно на портале Azure, необходимо вручную добавить пароль в строку подключения. Для конфиденциальной информации, такой как эта строка, обязательно используйте самый безопасный поток проверки подлинности. Корпорация Майкрософт рекомендует пройти проверку подлинности доступа к ресурсам Azure с помощью управляемого удостоверения , если это возможно, и назначить роль с минимальными привилегиями.

    Если эта возможность недоступна, обязательно защитите строка подключения с помощью других мер, таких как Azure Key Vault, которые можно использовать с параметрами приложения в стандартных рабочих процессах. Потом можно напрямую ссылаться на такие защищенные строки, как строки подключения и ключи. Как и шаблоны ARM, где можно определить переменные среды во время развертывания, можно определить параметры приложения в определении рабочего процесса приложения логики "Стандартный". Затем можно захватывать динамически генерируемые значения инфраструктуры, такие как конечные точки подключения, строки хранения и другие. Дополнительные сведения см. в разделе "Типы приложений" для платформа удостоверений Майкрософт.

    • Для базы данных SQL в Azure строка подключения имеет следующий формат:

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

      1. Чтобы найти эту строку в портал Azure, откройте базу данных.

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

    • Для локального СЕРВЕРА SQL Server строка подключения имеет следующий формат:

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

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

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

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

    • Рабочий процесс потребления:

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

    • Стандартный рабочий процесс:

      Вы можете использовать встроенный соединитель SQL Server или управляемый соединитель.

      • Чтобы использовать проверку подлинности Microsoft Entra или проверку подлинности управляемого удостоверения с приложением логики, необходимо настроить SQL Server для работы с этими типами проверки подлинности. Дополнительные сведения см. в справочнике по управляемому соединителю SQL Server.

      • Чтобы использовать встроенный соединитель, можно выполнить проверку подлинности подключения с помощью управляемого удостоверения, идентификатора Microsoft Entra или строка подключения. Вы можете настроить пул подключений, указав параметры в строка подключения. Дополнительные сведения см . в разделе "Пул подключений".

      • Чтобы использовать управляемый соединитель SQL Server, следуйте тем же требованиям, что и рабочий процесс приложения логики потребления в мультитенантных Azure Logic Apps. Дополнительные сведения о требованиях к соединителю см. в справочнике по управляемому соединителю SQL Server.

Добавление триггера SQL Server

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

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

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

  3. Добавьте управляемый триггер SQL Server, который требуется для вашего сценария, выполнив общие действия по добавлению триггера.

    Этот пример продолжается с триггером SQL Server с именем "При создании элемента".

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

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

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

    Снимок экрана отображает конструктор рабочих процессов потребления и управляемое действие с именем

  6. Добавьте другие доступные параметры из списка дополнительных параметров .

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

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

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

При сохранении рабочего процесса этот шаг автоматически публикует обновления в развернутом приложении логики, которое находится в Azure. При использовании только триггера рабочий процесс просто проверяет базу данных SQL на основе указанного расписания. Необходимо добавить действие, которое отвечает на триггер.

Добавление действия SQL Server

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

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

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

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

  3. Добавьте управляемое действие SQL Server, которое требуется выполнить, выполнив общие действия для добавления действия.

    В этом примере продолжается действие SQL Serverс именем Get row, которое получает одну запись.

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

  5. После появления поля сведений о действии в списке имен таблицы выберите таблицу, которую вы хотите использовать. В свойстве идентификатора строки введите идентификатор нужной записи.

    В этом примере имя таблицы — SalesLT.Customer.

    Снимок экрана: конструктор рабочих процессов потребления и действие Get row с примером имени таблицы и пустого идентификатора строки.

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

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

Подключение к базе данных

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

  • Учетные данные учетной записи
  • Имя, используемое для подключения
  • Имя сервера или системы
  • Тип проверки подлинности
  • Строка подключения

После предоставления этих сведений выполните следующие действия на основе целевой базы данных:

Подключение к База данных SQL Azure или Управляемый экземпляр SQL

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

В поле сведений о подключении выполните следующие действия:

  1. Для имени подключения укажите имя, используемое для подключения.

  2. Для типа проверки подлинности выберите необходимую и включенную проверку подлинности в базе данных в База данных SQL Azure или Управляемый экземпляр SQL:

    Проверка подлинности Описание
    Строка соединения Поддерживается только в стандартных рабочих процессах со встроенным соединителем SQL Server.

    Требуется строка подключения к серверу SQL Server и базе данных.
    Active Directory OAuth Поддерживается только в стандартных рабочих процессах со встроенным соединителем SQL Server. Дополнительные сведения см. в следующей документации:

    - Проверка подлинности для соединителя SQL Server
    - Включение OAuth 2.0 с идентификатором Microsoft Entra
    Управляемое удостоверение Logic Apps Поддерживается управляемым соединителем SQL Server. В стандартных рабочих процессах этот тип проверки подлинности доступен для встроенного соединителя SQL Server, но вместо этого параметр называется Управляемым удостоверением .

    Требуется следующее:

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

    - Доступ к ресурсу SQL Server участника базы данных SQL

    --- Доступ участника к группе ресурсов, включающей ресурс SQL Server.

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

    - Проверка подлинности управляемого удостоверения для соединителя SQL Server
    - Server-Level Роли
    Субъект-служба (приложение Microsoft Entra) Поддерживается управляемым соединителем SQL Server.

    Требуется приложение Microsoft Entra и учетная запись службы. Дополнительные сведения см. в статье "Создание приложения Microsoft Entra и субъекта-службы" с доступом к ресурсам с помощью портал Azure.
    Интегрированная microsoft Entra Поддерживается управляемым соединителем SQL Server.

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

    - Общие сведения о безопасности Azure SQL — Проверка подлинности
    - Авторизация доступа к базе данных в Azure SQL — Проверка подлинности и авторизация
    - Проверка подлинности Microsoft Entra для SQL Azure
    Проверка подлинности SQL Server Поддерживается управляемым соединителем SQL Server.

    Требуется следующее:

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

    — Допустимое имя пользователя и надежный пароль, созданные и хранящиеся в базе данных SQL Server. Дополнительные сведения см. в следующих статьях:

    - Общие сведения о безопасности Azure SQL — Проверка подлинности
    - Авторизация доступа к базе данных в Azure SQL — Проверка подлинности и авторизация

    В следующем примере показано, как может появиться поле сведений о подключении, если вы используете управляемый соединитель SQL Server и выберите встроенную проверку подлинности Microsoft Entra :

    Снимок экрана: сведения о подключении к облаку SQL Server с выбранным типом проверки подлинности.

  3. После выбора интегрированной интеграции Microsoft Entra нажмите кнопку "Войти". В зависимости от того, используете ли вы База данных SQL Azure или Управляемый экземпляр SQL, выберите учетные данные пользователя для проверки подлинности.

  4. Выберите следующие значения для базы данных:

    Свойство Обязательное поле Описание
    Имя сервера Да Адрес сервера SQL Server, например Fabrikam-Azure-SQL.database.windows.net
    Имя базы данных Да Имя базы данных SQL, например Fabrikam-Azure-SQL-DB
    Имя таблицы Да Таблица, которую вы хотите использовать, например SalesLT.Customer

    Совет

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

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

      Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

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

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

    Снимок экрана: сведения об облачной базе данных SQL с примерами значений.

  5. Теперь перейдите к еще не выполненным действиям из раздела Добавление триггера SQL или Добавление действия SQL.

Подключение к локальному экземпляру SQL Server

В поле сведений о подключении выполните следующие действия:

  1. В случае подключений к локальному серверу SQL, для которых требуется локальный шлюз данных, выполните все необходимые условия.

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

  2. В поле Тип проверки подлинности выберите требуемую проверку подлинности, включенную на сервере SQL Server:

    Проверка подлинности Описание
    Проверка подлинности SQL Server Поддерживается управляемым соединителем SQL Server и встроенным соединителем SQL Server.

    Требуется следующее:

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

    — Допустимое имя пользователя и надежный пароль, созданные и хранящиеся в SQL Server.

    Дополнительные сведения см. в разделе Соединение с использованием проверки подлинности SQL Server.
    Проверка подлинности Windows. Поддерживается управляемым соединителем SQL Server.

    Требуется следующее:

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

    — Действительное имя пользователя и пароль Windows для подтверждения вашей личности с помощью учетной записи Windows.

    Дополнительные сведения: Проверка подлинности Windows.
  3. Выберите или укажите следующие значения для базы данных SQL:

    Свойство Обязательное поле Описание
    Имя сервера SQL Да Адрес сервера SQL Server, например Fabrikam-Azure-SQL.database.windows.net
    Имя базы данных SQL Да Имя базы данных SQL Server, например Fabrikam-Azure-SQL-DB
    Имя пользователя Да Ваше имя пользователя для сервера SQL и базы данных
    Пароль Да Ваш пароль для сервера SQL и базы данных
    Подписка Да (для проверки подлинности Windows) Подписка Azure для ресурса шлюза данных, созданного ранее в Azure
    Шлюз для подключения Да (для проверки подлинности Windows) Имя ресурса шлюза данных, созданного ранее в Azure

    Совет. Если шлюз не отображается в списке, проверьте, правильно ли вы его настроили.

    Совет

    Эту информацию можно найти в строке подключения к базе данных.

    • Server={your-server-address}
    • Database={your-database-name}
    • User ID={your-user-name}
    • Password={your-password}

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

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

  4. Когда будете готовы, нажмите Создать.

  5. Продолжайте действия, которые вы еще не выполнили, в разделе "Добавление триггера SQL " или "Добавление действия SQL".

Обработка больших данных

Иногда вы работаете с результирующих наборами, чтобы соединитель не возвращал все результаты одновременно. Кроме того, вы хотите лучше контролировать размер и структуру результирующих наборов. В следующем списке приведены некоторые способы обработки таких больших результирующих наборов:

Обработка динамических больших данных

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

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

  2. Просмотрите формат выходных данных, выполнив тестовый запуск. Скопируйте и сохраните пример выходных данных.

  3. В конструкторе в действии, в котором вызывается хранимая процедура, добавьте встроенное действие с именем Parse JSON.

  4. В действии Анализ JSON выберите Использовать образец полезных данных для создания схемы.

  5. В окне Введите или вставьте пример полезной нагрузки JSON вставьте пример выходных данных, а затем нажмите Готово.

    Примечание.

    Если вы получаете сообщение об ошибке, что Azure Logic Apps не может создать схему, убедитесь, что синтаксис выходных данных образца правильно отформатирован. Если вы по-прежнему не можете создать схему, введите ее вручную в поле Схема.

  6. Закончив работу, сохраните свой рабочий процесс.

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

    1. Выберите в текстовых полях редактирования, где вы хотите ссылаться на свойства JSON.
    2. Щелкните значок молнии, чтобы открыть список динамического содержимого.
    3. В списке в разделе "Анализ JSON " выберите маркеры данных для нужных свойств содержимого JSON.