Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SQL Server — широко используемое решение для хранения корпоративных данных. В этой статье представлены рекомендации по созданию и публикации корпоративного приложения Canvas с использованием SQL Server.
Совет
В этой статье представлен пример сценария и визуальное представление того, как использовать SQL Server с приложением Canvas. Данное решение представляет собой обобщенный пример архитектуры, который может использоваться во многих различных сценариях и отраслях. SQL Server и Power Apps поддерживают множество устаревших подходов к аутентификации. В этой статье приведены только лучшие практики.
Схема архитектуры
Рабочий процесс
Хотя во многих предыдущих реализациях Power Apps с SQL Server использовался шлюз, в этом примере архитектуры представлена архитектура виртуальной частной сети (VNET) с SQL Server. Экземпляр SQL Server может представлять собой Azure SQL или локальную базу данных SQL, доступную через облако через Azure Arc. В обоих случаях обмен данными осуществляется конфиденциально и безопасно.
- Contoso VNET — это виртуальная частная сеть, которую вы создаете в своем клиенте.
- Ресурсы Azure/ресурсы Contoso — это ресурсы, которые вы делаете доступными в виртуальной сети из своего клиента. К этим ресурсам относятся такие службы, как база данных Azure SQL или локальная база данных SQL Server, доступная через Azure Arc.
- Делегированная подсеть находится внутри вашей виртуальной сети и предоставляет контейнер, Power Platform который позволяет таким службам, как SQL-коннектор или Dataverse плагин, работать с вашими ресурсами.
Компоненты
В этом разделе описываются компоненты, которые поддерживают интеграцию SQL Server с приложениями Canvas в этой архитектуре.
Приложение Canvas и таблицы SQL
Таблицы и представления SQL Server отображаются в Power Apps качестве табличных источников данных. Вы можете привязать табличный источник данных к свойству таблицы или галереи Items с помощью Power Fx выражения. Для табличных источников данных Power Fx выражения преобразуются в выражения OData, которые затем преобразуются в выражения SQL. Однако Power Fx и OData не полностью представляют все возможности выражения SQL.
Совет
Используйте Power Fx для простых запросов и используйте хранимые процедуры для более сложных выражений SQL.
Приложение Canvas и хранимые процедуры SQL
Хранимые процедуры SQL Server отображаются в Power Apps качестве источников данных действий. Обычно источники данных действий не могут быть привязаны к таблице или галерее из-за их потенциальных побочных эффектов. Однако вы можете пометить его select stored procedure как Safe for Tables and Galleries и использовать с таблицей или галереей. При таком подходе извлекаются все данные, возвращаемые хранимой процедурой, но будьте осторожны, поскольку извлечение слишком большого объема данных может привести к переполнению памяти клиента. Для управления объемом извлекаемых данных используйте аргументы пагинации параметров, которые обычно присутствуют в этих типах хранимых процедур.
Кроме того, установите результаты в Power Fx переменную и используйте эту переменную в свойстве Items для заполнения таблицы или галереи. Не забудьте обновить Power Fx переменную при операциях создания, обновления и удаления (CUD). Более сложные хранимые процедуры, например, использующие временные таблицы, могут возвращать dynamic schema. Вы можете использовать результаты этих хранимых процедур, установив ожидаемые результаты на a Power Fx User defined type.
Коннектор SQL Server
Power Apps приложения используют соединитель SQL Server для доступа к данным в SQL Server. Хотя доступно множество типов аутентификации SQL, Microsoft Entra идентификатор и общее имя участника службы (SPN) являются двумя лучшими вариантами.
Если вы хотите использовать Microsoft Entra ID, сначала настройте базу данных SQL Server для обеспечения безопасности с помощью Microsoft Entra ID. Общий SPN — это метод доступа, разрешенный администратором, и его следует предоставлять с осторожностью, поскольку все пользователи имеют одинаковые права доступа к базе данных. Он защищен с помощью защищенных неявных соединений, которые ограничивают доступ к таблицам и действиям, используемым в приложении (то есть Get, Post, Put и Delete).
VNET (виртуальная частная сеть)
Существует несколько способов маршрутизации вызовов на SQL Server. Виртуальная сеть — это облачное решение Azure, которое делает все конечные точки частными. Для реализации подготовьте виртуальную сеть в своем клиенте, настройте корпоративную политику и сконфигурируйте свою Power Platform среду для ее поддержки. Такая настройка гарантирует, что никакой SQL-трафик не будет передан публично по сети.
ALM (управление жизненным циклом приложений)
Power Platform поддерживает плавный перенос Power Apps приложения на SQL между средами разработки, тестирования и производства. Ссылки на соединения поддерживают изменение строк соединения между средами, что важно для базовой аутентификации SQL. Переменные среды поддерживают сценарий Microsoft Entra ID, изменяя сервер и базу данных между средами.
Случаи использования
Power Apps предоставляет организациям гибкий и интуитивно понятный способ создания индивидуального пользовательского опыта.
- Если вы создаете новое приложение и хранилище, рассмотрите возможность использования Dataverse. Его функции призваны упростить создание приложений корпоративного уровня.
- Если у вас есть данные на SQL Server, которые нельзя переместить, или вашей организации требуется SQL Server, рассмотрите возможность использования Power Apps а не SQL Server.
- Если данные невозможно переместить, используйте Power Apps SQL Server. Существующие приложения по-прежнему зависят от этих данных, поэтому для их модернизации вам необходимо перенести эти приложения в облако.
Рекомендации
Эти соображения реализуют основы Power Platform Well-Architected — набора руководящих принципов, повышающих качество рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Power Platform Well-Architected.
Надежность
Спроектируйте рабочую нагрузку так, чтобы избежать ненужной сложности: Power Apps хорошо работает с простыми запросами, которые можно делегировать серверу. Делегируйте сложные задачи представлениям и хранимым процедурам. Затем используйте эти хранимые процедуры напрямую для синхронных действий. Используйте Power Automate для любых асинхронных действий, включая вызовы длительно выполняемых хранимых процедур.
Группа безопасности
Использовать безопасные неявные соединения: использовать безопасные неявные соединения для всех общих соединений. При необходимости преобразуйте все старые приложения для использования безопасных неявных соединений. При использовании безопасных неявных соединений соединитель остается внутри Power Apps облачной службы и не размещается на клиенте. Приложение подключается только к прокси-коннектору, который также находится в Power Apps облачном сервисе. Приложение и прокси-коннектор знают друг о друге; однако приложение не знает о коннекторе. Прокси-коннектор имеет политику, которая ограничивает типы запросов запросами в приложении.
Создайте преднамеренную сегментацию и периметры: используйте отдельные Power Platform среды для этапов жизненного цикла приложения и обеспечьте, чтобы только соответствующие пользователи имели доступ к каждому этапу для поддержки политик сегментации.
Операционная эффективность
Внедряйте безопасные методы развертывания: стандартизируйте развертывание любых изменений в Power Apps приложении с помощью автоматизированных процессов развертывания, таких как конвейеры. Выпускайте приложение в эксплуатацию только после тестирования этих изменений.
Эффективные процессы
Проектирование с учетом требований к производительности: оцените производительность вашего решения и требования к объему данных, чтобы убедиться, что ваша таблица, представление и хранимая процедура SQL Server спроектированы соответствующим образом. В своей оценке включите способ доступа к данным и способ Power Apps делегирования операций SQL Server. Помните об ограничениях при поиске и фильтрации данных из-за поддержки делегирования, предлагаемой SQL Server. Ознакомьтесь с ограничениями, описанными для приложений на основе холста в разделе Понимание делегирования, особенно при выборе правильного источника данных или бэкэнда для вашего приложения.
Оптимизация логики: приложения Canvas используют Power Fx для выполнения работы. Каждая Power Fx операция независима и не обрабатывается как атомарная транзакция. Например, если приложение создает строку сведений о заказе на продажу, но не создает запись заголовка заказа на продажу, строка сведений о заказе на продажу остается. Не оставляйте эти обязательные процедурные шаги в Power Fx. Используйте хранимые процедуры SQL Server с поддержкой транзакций.
Оптимизация взаимодействия
Проектирование с учетом эффективности: приложения, которые позволяют пользователям получать доступ к другим источникам данных наряду с таблицами SQL Server из одного Power Apps приложения, не требуя взаимодействия с несколькими отдельными приложениями, повышают эффективность и обеспечивают лучший визуальный опыт. Избегайте создания приложения ради создания приложения — приложение должно обеспечивать некоторую эффективность для пользователя или другие преимущества архитектуры по сравнению с использованием опыта, управляемого моделями Power Apps .
Связанные ресурсы
Power Apps (Пауэр Аппс)
- Обзор подключения к SQL Server
- Используйте Microsoft SQL Server безопасно
- О делегировании
- Power Apps функции и операции, делегируемые SQL Server
Разъемы:
- Microsoft SQL Server документация по соединителю
- Обзор поддержки виртуальной сети
- Настройка поддержки виртуальной сети
Управление жизненным циклом приложений (ALM):