Настройка хранилища базы данных SQL для приложений логики (стандартная версия) в Azure Logic Apps с одним арендатором (предварительная версия)
Область применения: Azure Logic Apps (стандартная версия)
Внимание
Эта возможность входит в предварительную версию, и на нее распространяются Дополнительные условия использования предварительных версий Microsoft Azure.
Если вы выбираете тип ресурса Приложение логики (стандартная версия) для создания рабочих процессов, которые выполняются в Azure Logic Apps с одним арендатором, Среде службы приложений версии 3 или за пределами Azure, понадобится также создать учетную запись службы хранилища Azure, чтобы сохранить связанные с рабочим процессом артефакты, состояния и данные среды выполнения. Впрочем, если вам требуется больше гибкости и контроль над средой выполнения, пропускной способностью, масштабированием, производительностью и управлением рабочих процессов приложения логики, то для операций с хранилищем, связанных с рабочими процессами, можно использовать поставщик хранилища SQL, а не службу хранилища Azure.
В этой статье приводится описание того, почему вы можете захотеть использовать хранилище SQL в качестве основного поставщика хранилища для Azure Logic Apps как альтернативу службе хранилища Azure, а также демонстрируется, как настроить SQL для использования хранилища либо во время создания приложения логики на портале Azure, либо во время развертывания приложения логики из Visual Studio Code.
Если ранее вы не работали с приложениями логики, рекомендуется ознакомиться со следующей документацией.
Почему именно SQL?
Как альтернативный вариант хранилища, доступный для Azure Logic Apps с одним арендатором, SQL предоставляет следующие преимущества.
Преимущества | Description |
---|---|
Портативность | SQL имеет много форм-факторов, включая виртуальные машины, платформу как услугу (PaaS) и контейнеры. Базы данных SQL можно запускать почти в любом месте, где может потребоваться выполнение рабочих процессов приложения логики. |
Элемент управления | SQL позволяет осуществлять тщательный контроль над пропускной способностью, производительностью и масштабированием базы данных в определенные периоды или для определенных рабочих нагрузок. Ценообразование SQL основано на использовании процессора и пропускной способности, что обеспечивает более предсказуемое формирование цен по сравнению со службой хранилища Azure, где стоимость основана на каждой операции. |
Использование имеющихся ресурсов | Если вы знакомы с инструментами Майкрософт, используйте их ресурсы для современных интеграций с SQL. Вы можете повторно использовать ресурсы в традиционных локальных развертываниях и современных облачных реализациях с помощью Преимуществ гибридного использования Azure. SQL также предоставляет усовершенствованные и хорошо поддерживаемые средства, такие как SQL Server Management Studio (SSMS), интерфейсы командной строки и пакеты SDK. |
Соблюдение закона | SQL предоставляет больше параметров, чем служба хранилища Azure для резервного копирования, восстановления, отработки отказа и создания избыточности. Вы можете применять к хранилищу приложения логики те же механизмы корпоративного уровня, что и другие корпоративные приложения. |
Когда следует использовать SQL?
В следующей таблице описаны некоторые причины, по которым вам может потребоваться использовать SQL:
Сценарий | Рекомендуемый поставщик хранилища |
---|---|
Вы хотите выполнять рабочие процессы приложения логики в Azure, обеспечив более тщательный контроль пропускной способности и производительности хранилища. | Используйте SQL в качестве поставщика хранилища, поскольку служба хранилища Azure не предоставляет средств для точной настройки пропускной способности и производительности. |
Вы хотите выполнять рабочие процессы приложения логики в локальной среде, используя Logic Apps с поддержкой Azure Arc. | Используйте SQL в качестве поставщика хранилища, чтобы иметь возможность выбирать место размещения базы данных SQL, например локально на виртуальной машине, в контейнере или в нескольких облаках. Рассмотрите возможность запуска рабочих процессов приложения логики вблизи систем, которые вы хотите интегрировать, или уменьшения зависимости от облака. |
Вы хотите, чтобы затраты на хранение были прогнозируемыми. | Используйте SQL в качестве поставщика хранилища, если хотите повысить контроль над расходами на масштабирование. Затраты на SQL основываются на каждой операции вычислений и ввода-вывода в секунду. Когда же в службе хранилища Azure затраты зависят от количества операций, что может быть полезнее для небольших рабочих нагрузок, масштабируемых до нуля. |
Вы предпочитаете использовать SQL, а не службу хранилища Azure. | SQL — хорошо известная и надежная экосистема, которую можно использовать для применения одинакового уровня контроля и управления для фоновых операций приложений логики. |
Вы хотите повторно использовать существующие среды SQL. | Используйте SQL в качестве поставщика хранилища, если вы уже владеете лицензиями SQL, которые хотите повторно использовать или модернизировать, превратив на облачные. Вам также можете захотеть использовать Преимущества гибридного использования Azure для интеграции приложений логики. |
В любом другом месте | Используйте службу хранилища Azure в качестве поставщика хранилища по умолчанию. |
Необходимые компоненты
Учетная запись Azure и активная подписка. Если у вас ее нет, зарегистрируйтесь, чтобы получить бесплатную учетную запись.
Среда SQL для использования с приложением логики. Однако перед настройкой среды нужно выполнить следующие действия.
Создание экземпляра сервера SQL.
Поддерживаются следующие типы: SQL Server, база данных SQL Azure, Управляемый экземпляр SQL Azure и другие.
Если сервер SQL размещен в Azure с использованием одного из поддерживаемых типов, убедитесь, что установлены следующие разрешения:
На портале Azure перейдите к ресурсу "Сервер SQL".
В меню навигации ресурса в разделе Безопасность выберите Брандмауэры и виртуальные сети.
В открывшейся области в разделе Разрешить доступ к серверу службам и ресурсам Azure выберите Да.
Сохранение изменений.
Если сервер SQL не размещен в Azure, убедитесь, что все брандмауэры и параметры сети на сервере разрешают ресурсам и службам Azure доступ к серверу и базе данных.
Если вы используете SQL Express для локальной разработки, подключитесь к стандартному именованному экземпляру
localhost\SQLExpress
.
Создание базы данных или использование существующей.
Прежде чем перейти к настройке поставщика хранилища SQL, необходимо убедиться в наличии пригодной для использования базы данных.
Теперь вы можете выполнить действия по настройке среды SQL, указанные в этой статье.
Для локальной разработки нужно, чтобы на локальном компьютере был установлен Visual Studio Code.
Примечание.
Убедитесь, что вы установили последнюю версию Azure Functions Core Tools для обеспечения поддержки SQL, используя нужную версию Установщика Microsoft (MSI),
func-cli-X.X.XXXX-x*.msi
. Дополнительные сведения о требованиях к установке Visual Studio Code см. в статье Создание рабочих процессов интеграции в Azure Logic Apps с одним клиентом (стандартная версия) в Visual Studio Code.
Настройка среды SQL
Перед настройкой поставщика хранилища SQL выполните необходимые действия в разделе Предварительные требования.
Настройка разрешений для сервера SQL.
В настоящее время поставщик хранилища SQL поддерживает проверку подлинности SQL в строках подключения. Для локальной разработки и тестирования можно также использовать проверку подлинности Windows. В настоящее время поддержка идентификатора и управляемых удостоверений Майкрософт недоступна.
Вы должны использовать удостоверение с разрешениями на создание артефактов, связанных с рабочим процессом, и управление ими в целевой базе данных SQL. Например, все необходимые разрешения на создание этих артефактов и управление ими имеет администратор. В следующем списке перечислены артефакты, которые среда выполнения Azure Logic Apps с одним арендатором пытается создать с использованием предоставленной строки подключения SQL. Убедитесь, что удостоверение, используемое в строке подключения SQL, имеет необходимые разрешения на создание следующих артефактов:
- Создайте и удалите следующие схемы:
dt
,dc
, а такжеdq
. - Добавление, изменение и удаление таблиц в указанных схемах.
- Добавляйте, изменяйте и удаляйте определяемые пользователем типы таблиц в указанных схемах.
Дополнительные сведения о целевых разрешениях см. в разделе "Разрешения SQL Server" в ядро СУБД.
Внимание
Если у вас есть конфиденциальная информация, например строка подключения, включающих имена пользователей и пароли, обязательно используйте самый безопасный поток проверки подлинности. Корпорация Майкрософт рекомендует пройти проверку подлинности доступа к ресурсам Azure с помощью управляемого удостоверения , если это возможно, и назначить роль с минимальными привилегиями.
Если эта возможность недоступна, обязательно защитите строка подключения с помощью других мер, таких как Azure Key Vault, которые можно использовать с параметрами приложения. Потом можно напрямую ссылаться на такие защищенные строки, как строки подключения и ключи. Аналогично шаблонам ARM, где переменные среды определяют в процессе развертывания, настройки приложения можно задать в рамках определения рабочего процесса приложения логики. Затем можно захватывать динамически генерируемые значения инфраструктуры, такие как конечные точки подключения, строки хранения и другие. Дополнительные сведения см. в разделе "Типы приложений" для платформа удостоверений Майкрософт.
- Создайте и удалите следующие схемы:
Подключение к SQL.
Убедитесь, что база данных SQL обеспечивает необходимый доступ для разработки.
Если вы используете базу данных SQL Azure, выполните следующие требования.
Для локальных разработки и тестирования явно разрешите подключение с IP-адреса локального компьютера. Вы можете задать правила брандмауэра для IP-адресов в SQL Server Azure.
На портале Azure разрешите ресурсу приложения логики доступ к базе данных SQL с помощью указанной строки подключения, предоставив разрешения на использование служб Azure.
Настройте любые другие элементы управления доступом к сети базы данных SQL, если это необходимо для вашего сценария.
Если вы используете Управляемый экземпляр SQL Azure, разрешите службам Azure (
logicapp
) подключаться к базе данных SQL через защищенные общедоступные конечные точки.
Настройка SQL во время создания на портале Azure
При создании приложения логики с помощью типа ресурса Приложение логики (стандартная версия) в Azure вы можете настроить SQL в качестве поставщика хранилища.
Войдите на портал Azure с помощью своей учетной записи Azure.
В поле поиска на портале Azure введите строку
logic apps
и выберите Приложения логики.На странице Logic Apps нажмите Добавить.
На странице Создание приложения логики на вкладке Основное укажите следующие сведения о ресурсе приложения логики:
Свойство Обязательное поле значение Описание Подписка Да <имя-подписки-Azure> Подписка Azure для вашего приложения логики. Группа ресурсов Да <имя-группы-ресурсов-Azure> Группа ресурсов Azure, в которой будет создано приложение логики и связанные ресурсы. Это имя ресурса должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.). В этом примере показано создание группы ресурсов
Fabrikam-Workflows-RG
.Тип Да Стандартные Этот тип ресурса приложения логики выполняется в среде Azure Logic Apps с одним арендатором и использует модель потребления. выставления счетов и цен уровня "Стандарт". Имя приложения логики Да <logic-app-name> Имя, используемое для приложения логики. Это имя ресурса должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.). В этом примере создается приложение логики
Fabrikam-Workflows
.Примечание. К имени приложения логики автоматически добавляется суффикс
.azurewebsites.net
, так как ресурс Приложение логики (стандартный) использует однотенантную среду выполнения Azure Logic Apps, которая основана на модели расширяемости службы "Функции Azure" и размещена в качестве расширения в среде выполнения "Функции Azure". В Функциях Azure используется то же соглашение об именовании приложений.Опубликовать Да <deployment-environment> Целевая среда для развертывания приложения логики. По умолчанию для развертывания Azure Logic Apps с одним клиентом выбирается рабочий процесс. Azure создает пустой ресурс приложения логики, в который необходимо добавить первый рабочий процесс. Примечание. В настоящее время для параметра контейнера Docker требуется пользовательское расположение в кластере Kubernetes с поддержкой Azure Arc, которое можно использовать с Logic Apps с поддержкой Azure Arc (предварительная версия). Для приложения логики, пользовательского расположения и кластера необходимо использовать одно и то же расположение ресурсов.
Регион Да <Azure-region> Расположение для создания группы ресурсов и ресурсов. В этом примере выполняется развертывание примера приложения логики в Azure с использованием региона Западная часть США. – Если выбран контейнер Docker, выберите пользовательское расположение.
– Чтобы выполнить развертывание в ресурс ASEv3 (который должен существовать на этот момент), выберите этот ресурс среды из списка Регион.
В следующем примере показана страница Создать приложение логики с вкладкой Основные:
Затем нажмите кнопку Далее: Размещение. На вкладке Размещение укажите сведения о решении хранилища и плане размещения для приложения логики.
Свойство Обязательное поле значение Описание Тип хранилища Да SQL и служба хранилища Azure Тип хранилища, который будет использоваться для артефактов и данных, связанных с рабочим процессом. – Если ранее в качестве региона было выбрано пользовательское расположение, выберите SQL.
– Если вы ранее выбрали регион Azure или расположение ASEv3, выберите SQL и служба хранилища Azure.
Примечание. При развертывании в регионе Azure вам по-прежнему нужна учетная запись службы хранилища Azure, которая используется для однократного размещения конфигурации приложения логики на платформе Azure Logic Apps. Определение, состояние, журнал выполнения рабочего процесса и другие артефакты среды выполнения хранятся в базе данных SQL.
Для развертываний в пользовательском расположении, размещенном в кластере Azure Arc, требуется только SQL в качестве поставщика хранилища.
Учетная запись хранения Да <Azure-storage-account-name> Учетная запись хранения Azure, используемая для транзакций с хранилищем. Имя этого ресурса должно быть уникальным во всех регионах и может содержать только от 3 до 24 цифр и строчных букв. Выберите существующую учетную запись или создайте новую.
В этом примере создается учетная запись хранения с именем
fabrikamstorageacct
.Строка подключения SQL Да <sql-connection-string> Строка подключения SQL, которая в настоящее время поддерживает только проверку подлинности SQL (а не аутентификацию OAuth или с помощью управляемого удостоверения). Примечание. Убедитесь, что вы указали правильную строку подключения, поскольку портал Azure не будет проверять это.
Тип плана Да <hosting-plan> План размещения, который будет использоваться для развертывания приложения логики. Дополнительные сведения см. в статье Планы размещения и ценовые категории.
План Windows Да <plan-name> Имя используемого плана. Выберите имя существующего плана или укажите имя нового плана. В этом примере используется имя
Fabrikam-Service-Plan
.Номер SKU и размер Да <pricing-tier> Ценовая категория, используемая для приложения логики. Выбор влияет на цены, вычисления, память и хранилище, используемые приложением логики и рабочими процессами. Чтобы изменить ценовую категорию по умолчанию, выберите Изменить размер. Затем можно будет выбрать другие ценовые категории, соответствующие требуемой рабочей нагрузке.
Дополнительные сведения см. в статье Планы размещения и ценовые категории.
В следующем примере показана страница Создать приложение логики с вкладкой Размещение:
Выполните остальные шаги по созданию, указанные в статье Создание рабочих процессов интеграции в Azure Logic Apps с одним арендатором (цен. категория "Стандарт") на портале Azure.
Когда вы выполните все шаги, новый ресурс приложения логики и рабочий процесс будут работать в Azure и использовать базу данных SQL в качестве поставщика хранилища.
Настройка SQL для локальной разработки в Visual Studio Code
Ниже описано, как настроить SQL в качестве поставщика хранилища для локальных разработки и тестирования в Visual Studio Code.
Настройте среду разработки для работы с Azure Logic Apps с одним арендатором.
Выполните предварительные требования для работы в Visual Studio Code с расширением Azure Logic Apps (стандартная версия).
Настройте Visual Studio Code для работы с расширением Azure Logic Apps (стандартная версия).
в Visual Studio Code подключитесь к учетной записи Azure и создайте пустой проект приложения логики.
Откройте панель Explorer в Visual Studio, если она еще не открыта.
На панели Explorer в корневом каталоге проекта приложения логики наведите указатель мыши на любую пустую область под остальными файлами и папками проекта, откройте контекстное меню и выберите пункт Use SQL storage for your Logic App project (Использовать хранилище SQL для проекта приложения логики)
При появлении запроса введите строку подключения SQL. Вы можете согласиться и использовать локальный экземпляр SQL Express, или задать любую другую базу данных SQL.
После подтверждения Visual Studio Code создает следующий параметр в файле local.settings.json проекта. Этот параметр можно обновить в любое время.
Настройка SQL во время развертывания из Visual Studio Code
Вы можете напрямую опубликовать проект приложения логики из Visual Studio Code в Azure. Это действие развертывает проект приложения логики, используя тип ресурса Приложения логики (стандартная версия).
Если вы публикуете проект как новый ресурс Приложения логики (стандартная версия) в Azure и хотите использовать SQL в качестве поставщика хранилища, введите строку подключения SQL при публикации приложения. Дальнейшие действия см. в разделе Настройка SQL для нового развертывания приложения логики.
Если вы уже настроили параметры SQL, проект приложения логики можно опубликовать в уже развернутом ресурсе Приложение логики (стандартная версия) в Azure. Это действие приведет к перезаписи существующего приложения логики.
Примечание.
Локальный экземпляр SQL Express не будет работать с приложениями логики, развернутыми и размещенными в Azure.
Настройка SQL для нового развертывания ресурса "Приложение логики (стандартная версия)"
На панели действий Visual Studio Code щелкните значок Azure.
На панели инструментов в области Azure: Logic Apps (стандартная версия) выберите Развернуть в приложение логики.
При появлении запроса выберите подписку Azure, которая будет использоваться для развертывания приложения логики.
В списке, открытом Visual Studio Code, выберите дополнительный параметр Create new Logic App (Standard) in Azure Advanced (Создать новое приложение логики (стандартная версия) в Azure (расширенная версия)). В противном случае вам не будет предложено настроить SQL.
При появлении запроса укажите для нового приложения логики глобально уникальное имя, которое будет использоваться для ресурса Приложение логики (стандартная версия). В этом примере используется
Fabrikam-Workflows-App
.Выберите расположение вашего приложения логики. Вы также можете начать ввод, чтобы отфильтровать список.
Чтобы выполнить развертывание в Azure, выберите регион Azure для развертывания. Если вы ранее создали ресурс "Среда службы приложений версии 3 (ASEv3)" и хотите развернуть его, выберите ASEv3.
Чтобы выполнить развертывание в Logic Apps с поддержкой Azure Arc, выберите ранее настроенное пользовательское расположение.
В следующем примере показан список расположений, отфильтрованный по региону Западная часть США.
Выберите тип плана размещения для нового приложения логики.
Если вы выбрали в качестве расположения приложения ASEv3, щелкните План службы приложений, а затем выберите ресурс ASEv3. В противном случае выберите Рабочий процесс уровня "Стандартный".
Можно придумать имя для плана или выбрать существующий план.
В этом примере мы выбираем пункт Создать план службы приложений, поскольку существующие планы недоступны.
Укажите имя своего плана размещения, а затем выберите ценовую категорию для выбранного плана.
Дополнительные сведения см. в статье Планы размещения и ценовые категории.
При появлении запроса на группу ресурсов Azure выберите ту же группу ресурсов Azure, которая используется для развертывания проекта. Так вы сможете добиться оптимальной производительности.
Примечание.
Вы можете создать или использовать другую группу ресурсов, однако это может негативно повлиять на производительность. Если вы создаете или выбираете другую группу ресурсов и отменяете ее после появления запроса подтверждения, развертывание также отменяется.
Когда появится запрос на выбор учетной записи хранения для приложения логики, выберите один из следующих вариантов:
Если вы ранее вы выбрали пользовательское расположение, щелкните параметр SQL.
Если вы хотите выполнить развертывание в Azure, щелкните параметр SQL и служба хранилища Azure.
Примечание.
Этот параметр является обязательным только для развертываний Azure. В Azure служба хранилища Azure используется для выполнения одноразового размещения конфигурации приложения логики на платформе Azure Logic Apps. Текущее состояние рабочего процесса, журнал выполнения и другие артефакты среды выполнения хранятся в базе данных SQL.
Для развертываний в пользовательском расположении, размещенном в кластере Azure Arc, требуется только SQL в качестве поставщика хранилища.
При появлении запроса выберите параметр Создать учетную запись хранения или существующую учетную запись хранения, если она доступна.
В запросе подтверждения хранилища SQL выберите Да. В запросе на строку подключения введите строку подключения SQL.
Примечание.
Убедитесь, что вы указали правильную строку подключения, поскольку Visual Studio Code не будет проверять это.
Выполните оставшиеся шаги по развертыванию, указанные в разделе Публикация в новом ресурсе "Приложение логики (стандартная версия)".
Когда вы выполните все шаги, новый ресурс приложения логики и рабочий процесс будут работать в Azure и использовать базу данных SQL в качестве поставщика хранилища.
Проверка развертываний
Развернув в Azure ресурс Приложение логики (стандартная версия), вы можете проверить правильность заданных параметров:
Откройте ресурс приложения логики на портале Azure.
В меню навигации ресурса в разделе Параметры выберите пункт Конфигурация.
В области Конфигурация в разделе Параметры приложения найдите параметр приложения Workflows.Sql.ConnectionString и убедитесь, что строка подключения SQL отображается и является правильной.
В среде SQL убедитесь, что таблицы SQL созданы на основе схемы, название которой начинается с dt и dq.
Например, на следующем снимке экрана показаны таблицы, созданные средой выполнения Azure Logic Apps с одним арендатором для ресурса приложения логики с одним рабочим процессом:
Служба Azure Logic Apps с одним арендатором также создает определяемые пользователем типы таблиц. Например, на следующем снимке экрана показаны определяемые пользователем типы таблиц, созданные средой выполнения Azure Logic Apps с одним арендатором для ресурса приложения логики с одним рабочим процессом: