Подключение к базе данных 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;
Чтобы найти эту строку в портал Azure, откройте базу данных.
В меню базы данных в разделе "Свойства" выберите строки подключения.
Для локального СЕРВЕРА 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 можно также использовать следующие средства для создания рабочих процессов приложения логики:
Рабочие процессы потребления: Visual Studio или Visual Studio Code
Стандартные рабочие процессы: Visual Studio Code
В портал Azure откройте приложение логики потребления и пустой рабочий процесс в конструкторе.
В конструкторе в поле поиска выберите "Стандартный". Затем выполните следующие общие действия, чтобы добавить нужный триггер SQL Server.
Этот пример продолжается с триггером с именем "При создании элемента".
При появлении запроса укажите сведения о подключении. По завершении нажмите Создать.
После появления поля сведений о триггере укажите необходимые сведения, необходимые выбранному триггеру.
В этом примере в триггере с именем "При создании элемента" укажите значения для имени сервера SQL Server и имени базы данных, если вы ранее их не предоставили. В противном случае в списке имен таблицы выберите нужную таблицу. Выберите частоту и интервал, чтобы задать расписание для триггера, чтобы проверить наличие новых элементов.
Если для этого триггера доступны другие свойства, откройте список новых параметров и выберите эти свойства, относящиеся к вашему сценарию.
Этот триггер возвращает только одну строку из выбранной таблицы. Чтобы выполнить другие задачи, добавьте действие соединителя SQL Server или другое действие, которое выполняет следующую задачу в рабочем процессе приложения логики.
Например, чтобы просмотреть данные в этой строке, можно добавить другие действия, которые создают файл, содержащий поля из возвращенной строки, а затем отправляют оповещения по электронной почте. Дополнительные сведения о других доступных действиях для этого соединителя см. в справочнике по управляемому соединителю SQL Server.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
При сохранении рабочего процесса этот шаг автоматически публикует обновления в развернутом приложении логики, которое находится в Azure. При использовании только триггера рабочий процесс просто проверяет базу данных SQL на основе указанного расписания. Необходимо добавить действие, которое отвечает на триггер.
Добавление действия SQL Server
Следующие действия используют портал Azure, но с соответствующим расширением Azure Logic Apps можно также использовать Visual Studio для редактирования рабочих процессов приложений логики потребления или Visual Studio Code на следующие средства для редактирования рабочих процессов приложения логики:
Рабочие процессы потребления: Visual Studio или Visual Studio Code
Стандартные рабочие процессы: Visual Studio Code
В этом примере рабочий процесс приложения логики начинается с триггера повторения и вызывает действие, которое получает строку из базы данных SQL.
В портал Azure откройте приложение логики потребления и рабочий процесс в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить нужное управляемое действие SQL Server.
Этот пример продолжается с действием Get row, которое получает одну запись.
При появлении запроса укажите сведения о подключении. По завершении нажмите Создать.
После появления поля сведений о действии в списке имен таблицы выберите таблицу, которую вы хотите использовать. В свойстве идентификатора строки введите идентификатор нужной записи.
В этом примере имя таблицы — SalesLT.Customer.
Это действие возвращает только одну строку из выбранной таблицы и больше ничего. Чтобы просмотреть данные в этой строке, добавьте другие действия. Например, такие действия могут создать файл, включить поля из возвращаемой строки и сохранить файл в облачной учетной записи хранения. Дополнительные сведения о других доступных действиях для этого соединителя см. на странице справочных материалов по соединителю.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Подключение к базе данных
При добавлении триггера или действия, которое подключается к службе или системе, и у вас нет существующего или активного подключения, Azure Logic Apps предложит предоставить сведения о подключении, которые зависят от типа подключения, например:
- Учетные данные учетной записи
- Имя, используемое для подключения
- Имя сервера или системы
- Тип проверки подлинности
- Строка подключения
После предоставления этих сведений выполните следующие действия на основе целевой базы данных:
- Подключение к облачным База данных SQL Azure или Управляемый экземпляр SQL
- Подключение к локальному экземпляру SQL Server
Подключение к База данных SQL Azure или Управляемый экземпляр SQL
Чтобы получить доступ к Управляемый экземпляр SQL без использования локального шлюза данных, необходимо настроить общедоступную конечную точку в Управляемый экземпляр SQL. Общедоступная конечная точка использует порт 3342, поэтому при создании подключения из приложения логики необходимо указать именно этот номер порта.
В поле сведений о подключении выполните следующие действия:
Для имени подключения укажите имя, используемое для подключения.
Для типа проверки подлинности выберите необходимую и включенную проверку подлинности в базе данных в База данных SQL Azure или Управляемый экземпляр SQL:
Проверка подлинности Description Строка соединения — Поддерживается только в стандартных рабочих процессах со встроенным соединителем SQL Server.
— требуется строка подключения на сервер SQL Server и базу данных.Active Directory OAuth — Поддерживается только в стандартных рабочих процессах со встроенным соединителем SQL Server. Дополнительные сведения см. в следующей документации:
- Проверка подлинности для соединителя SQL Server
- Включение открытой авторизации с помощью идентификатора Microsoft Entra (Microsoft Entra ID OAuth)
- OAuth с идентификатором Microsoft EntraУправляемое удостоверение Logic Apps — поддерживается управляемым соединителем SQL Server. В стандартных рабочих процессах этот тип проверки подлинности доступен для встроенного соединителя SQL Server, но вместо этого параметр называется Управляемым удостоверением .
— требует следующих элементов:
--- допустимое управляемое удостоверение, которое включено в ресурсе приложения логики и имеет доступ к базе данных.
--- Доступ к ресурсу SQL Server участника базы данных SQL
--- Доступ участника к группе ресурсов, включающей ресурс SQL Server.
Дополнительные сведения см. в следующей документации:
- Проверка подлинности управляемого удостоверения для соединителя SQL Server
- SQL — роли уровня сервераСубъект-служба (приложение Microsoft Entra) — поддерживается управляемым соединителем SQL Server.
— требуется приложение Microsoft Entra и субъект-служба. Дополнительные сведения см. в статье "Создание приложения Microsoft Entra и субъекта-службы" с доступом к ресурсам с помощью портал Azure.Интегрированная microsoft Entra — поддерживается управляемым соединителем SQL Server.
— требуется допустимое управляемое удостоверение в Microsoft Entra, которое включено в ресурсе приложения логики и имеет доступ к базе данных. Дополнительные сведения см. в следующих разделах:
- Общие сведения о безопасности Azure SQL — Проверка подлинности
- Авторизация доступа к базе данных в Azure SQL — Проверка подлинности и авторизация
- Azure SQL — встроенная проверка подлинности Microsoft EntraПроверка подлинности SQL Server — поддерживается управляемым соединителем SQL Server.
— требует следующих элементов:
--- ресурс шлюза данных, созданный ранее в Azure для подключения, независимо от того, находится ли приложение логики в мультитенантных Azure Logic Apps.
--- допустимое имя пользователя и надежный пароль, созданные и хранящиеся в базе данных SQL Server. Дополнительные сведения см. в следующих разделах:
- Общие сведения о безопасности Azure SQL — Проверка подлинности
- Авторизация доступа к базе данных в Azure SQL — Проверка подлинности и авторизацияВ следующих примерах показано, как может появиться поле сведений о подключении, если вы используете управляемый соединитель SQL Server и выберите встроенную проверку подлинности Microsoft Entra:
Рабочие процессы потребления
Стандартные рабочие процессы
После выбора интегрированной интеграции Microsoft Entra нажмите кнопку "Войти". В зависимости от того, используете ли вы База данных SQL Azure или Управляемый экземпляр SQL, выберите учетные данные пользователя для проверки подлинности.
Выберите следующие значения для базы данных:
Свойство Обязательное поле Описание Имя сервера Да Адрес сервера 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 или Добавление действия SQL.
Подключение к локальному экземпляру SQL Server
В поле сведений о подключении выполните следующие действия:
В случае подключений к локальному серверу SQL, для которых требуется локальный шлюз данных, выполните все необходимые условия.
В противном случае ресурс шлюза данных не отображается в списке шлюзов подключений при создании подключения.
В поле Тип проверки подлинности выберите требуемую проверку подлинности, включенную на сервере SQL Server:
Проверка подлинности Description Проверка подлинности SQL Server — Поддерживается с управляемым соединителем SQL Server и встроенным соединителем SQL Server.
— требует следующих элементов:
--- ресурс шлюза данных, созданный ранее в Azure для подключения, независимо от того, находится ли приложение логики в мультитенантных Azure Logic Apps.
--- допустимое имя пользователя и надежный пароль, созданные и хранящиеся в SQL Server.
Дополнительные сведения см. в разделе Соединение с использованием проверки подлинности SQL Server.Проверка подлинности Windows. — поддерживается управляемым соединителем SQL Server.
— требует следующих элементов:
--- ресурс шлюза данных, созданный ранее в Azure для подключения, независимо от того, находится ли приложение логики в мультитенантных Azure Logic Apps.
--- допустимое имя пользователя и пароль Windows, чтобы подтвердить удостоверение с помощью учетной записи Windows.
Дополнительные сведения: Проверка подлинности Windows.Выберите или укажите следующие значения для базы данных SQL:
Свойство Обязательное поле Описание Имя сервера SQL Да Адрес сервера SQL, например Fabrikam-Azure-SQL.database.windows.net
Имя базы данных SQL Да Имя базы данных SQL Server, например Fabrikam-Azure-SQL-DB
Username Да Ваше имя пользователя для сервера 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 или Добавление действия SQL.
Обработка больших данных
Иногда вы работаете с результирующих наборами, чтобы соединитель не возвращал все результаты одновременно. Кроме того, вы хотите лучше контролировать размер и структуру результирующих наборов. В следующем списке приведены некоторые способы обработки таких больших результирующих наборов:
Чтобы упростить управление результатами в виде небольших наборов, включите разбиение на страницы. Дополнительные сведения см. в разделе Получение дополнительных данных, элементов или записей с помощью разбиения на страницы в Azure Logic Apps. Дополнительные сведения см. в статье Разбиение на страницы в SQL для массовой передачи данных с помощью Logic Apps.
Создайте хранимую процедуру, которая упорядочивает результаты подходящим вам способом. Соединитель SQL Server предоставляет множество функций серверной части, к которым можно получить доступ с помощью Azure Logic Apps, чтобы упростить автоматизацию бизнес-задач, работающих с таблицами базы данных SQL.
Когда действие SQL получает или вставляет несколько строк, рабочий процесс приложения логики может выполнять итерацию по этим строкам с помощью цикла до тех пор, пока не в пределах этих ограничений. Но иногда приложение логики должно работать с настолько большими наборами данных, например с тысячами или миллионами строк, что целесообразно сократить расходы на вызовы к базе данных.
Чтобы упорядочить результаты таким образом, можно создать хранимую процедуру, которая выполняется в экземпляре SQL и использует инструкцию SELECT — ORDER BY . Это решение позволяет управлять размером и структурой полученных результатов. Приложение логики вызывает хранимую процедуру с помощью действия выполнения хранимой процедуры соединителя SQL Server. Дополнительные сведения см. в статье SELECT — предложение ORDER BY.
Примечание.
Соединитель SQL Server имеет ограничение времени ожидания хранимой процедуры, которое меньше 2 минут. Некоторые хранимые процедуры могут выполняться дольше, что приведет к ошибке
504 Timeout
. Эту проблему можно обойти с помощью триггера завершения SQL, собственного запроса SQL к серверу, таблицы состояний и заданий на стороне сервера.Для этой задачи можно использовать агент заданий обработки эластичных баз данных Azure для Базы данных SQL Azure. Для локальной среды и Управляемый экземпляр SQL SQL Server можно использовать агент SQL Server. Дополнительные сведения см. в статье "Обработка длительных тайм-аутов хранимых процедур" в соединителе SQL Server для Azure Logic Apps.
Обработка динамических больших данных
При вызове хранимой процедуры с помощью соединителя SQL Server возвращаемые выходные данные иногда могут быть динамическими. В этом случае выполните следующее.
В портал Azure откройте приложение логики и рабочий процесс в конструкторе.
Просмотрите формат выходных данных, выполнив тестовый запуск. Скопируйте и сохраните пример выходных данных.
В конструкторе в действии, в котором вызывается хранимая процедура, добавьте встроенное действие с именем Parse JSON.
В действии Анализ JSON выберите Использовать образец полезных данных для создания схемы.
В окне Введите или вставьте пример полезной нагрузки JSON вставьте пример выходных данных, а затем нажмите Готово.
Примечание.
Если вы получаете сообщение об ошибке, что Azure Logic Apps не может создать схему, убедитесь, что синтаксис выходных данных образца правильно отформатирован. Если вы по-прежнему не можете создать схему, введите ее вручную в поле Схема.
Закончив работу, сохраните свой рабочий процесс.
Чтобы ссылаться на свойства содержимого JSON, выберите в полях редактирования, где нужно ссылаться на эти свойства, чтобы появиться динамический список содержимого. В списке под заголовком Анализ JSON выберите токены данных для нужных свойств содержимого JSON.