Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переменные среды позволяют использовать базовый сценарий управления жизненным циклом приложения (ALM) для перемещения приложения между средами Power Platform. В этом сценарии приложение остается точно таким же, за исключением нескольких ключевых ссылок на внешние приложения (таких как таблицы, подключения и ключи), которые отличаются в исходной среде и среде назначения. Приложение требует, чтобы структура таблиц или подключений была одинаковой между исходной и конечной средами с некоторыми отличиями. Переменные среды позволяют указать, какие из этих различных внешних ссылок должны обновляться при перемещении приложения между средами.
Переменные среды хранят ключи и значения параметров, которые затем служат входными данными для различных других объектов приложения. Отделение параметров от объектов-потребителей позволяет изменять значения в той же среде или при переносе решений в другие среды. Альтернативный вариант — оставить жестко запрограммированные значения параметров в компонентах, которые их используют. Этот подход часто бывает проблематичным; особенно, когда значения необходимо изменить во время операций управления жизненным циклом приложения (ALM). Поскольку переменные среды являются компонентами решения, вы можете переносить ссылки (ключи) и изменять значения при переносе решений в другие среды.
Преимущества использования переменных среды:
- Укажите новые значения параметров во время импорта решений в другие среды.
- Конфигурация хранилища для источников данных, используемых в приложениях Canvas и потоках. Например, параметры сайта SharePoint Online и списка можно хранить в виде переменных среды. Такой подход позволяет подключаться к разным сайтам и спискам в разных средах без необходимости изменять приложения и потоки.
- Упакуйте и перенесите свои настройки и конфигурацию вместе и управляйте ими в одном месте.
- Упаковывайте и передавайте секреты, такие как учетные данные, используемые разными компонентами, отдельно от компонентов, которые их используют.
- Одна переменная среды может использоваться во многих различных компонентах решения: будь то компоненты одного типа или разные. Например, приложение на основе холста и поток могут использовать одну и ту же переменную среды. Когда необходимо изменить значение переменной среды, вам нужно изменить только одно значение.
- Кроме того, если вам нужно исключить источник данных в рабочей среде, вы можете обновить значения переменных среды информацией для нового источника данных. Приложения и потоки не требуют модификации и начинают использовать новый источник данных.
- Поддерживается средствами SolutionPackager и DevOps и обеспечивает непрерывную интеграцию и непрерывную доставку (CI/CD).
- Переменные среды можно распаковать и сохранить в системе контроля версий. Вы также можете хранить разные файлы значений переменных среды для отдельной конфигурации, необходимой в разных средах. Затем упаковщик решений может принять файл, соответствующий среде, в которую импортируется решение.
Как работают переменные среды?
Переменные среды можно создавать и изменять через интерфейс современного решения. Они также могут создаваться автоматически при подключении к определенным источникам данных в холстовых приложениях или с помощью кода. Их также можно импортировать в среду с помощью решений. Переменные окружения можно использовать в качестве входных данных при создании платформенных приложений, потоках Power Automate, подключаемых модулях и добавлении панелей мониторинга Power BI в приложения на основе модели. Когда вы используете переменные среды, значения затем извлекаются из переменных среды и могут быть изменены при импорте решений в другие среды.
Ручное создание переменной среды в решении
- Войдите в Power Apps (make.powerapps.com), а затем на левой панели выберите Solutions. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
- Откройте нужное решение или создайте новое.
- На панели команд выберите Создать>Дополнительно, затем выберите Переменная среды.
- На правой панели заполните следующие столбцы, а затем выберите Сохранить:
Отображаемое имя. Введите имя для переменной среды.
Имя. Уникальное имя автоматически генерируется из значения Отображаемое имя, но вы можете изменить его.
Тип данных. Выберите Десятичное число, Текст, JSON, Два параметра, Источник данных или Секрет.
Заметка
- Если выбран Источник данных, вам также необходимо выбрать соединитель, допустимое подключение для выбранного соединителя и тип параметра. Подключение не сохраняется как часть переменной среды. Переменная среды хранит сведения не в подключении, необходимом для подключения Power Apps к правому серверу и таблице. Подключение используется только для получения доступных значений параметров, таких как SharePoint сайты, к которым у вас есть доступ, или списки, связанные с сайтом.
- Если Secret является выбранным типом, необходимы дополнительные сведения для настройки и конфигурации Azure Key Vault, чтобы разрешить Power Platform получить доступ к секрету.
Текущее значение. Также называется значением. Это свойство не является обязательным и является частью таблицы значений переменных среды. Определенное значение используется, даже если также присутствует значение по умолчанию. Удалите значение из своего решения, если не хотите использовать его в следующей среде. Значения также разделены на отдельные файлы JSON в экспортированном файле solution.zip и могут редактироваться в автономном режиме. Больше информации: Как удалить значение из переменной среды?
Значение по умолчанию. Этот столбец является частью таблицы определения переменных среды и не является обязательным. Значение по умолчанию используется, если нет текущего значения.
Разделение значения по умолчанию и текущего значения позволяет вам использовать определение и значение по умолчанию отдельно от значения. Например, издатель приложения может разместить свое предложение на Marketplace со значением по умолчанию. Затем при желании покупатель может указать новое значение. Когда издатель приложения публикует обновления для приложения, значение, установленное клиентом, не будет перезаписано.
Заметка
Значение не может существовать без определения. Интерфейс позволяет создавать только одно значение для каждого определения.
Power Apps может автоматически создавать переменные среды
На вкладке General параметров Power Apps:
Включите параметр Автоматическое создание переменных среды при добавлении источников данных. Теперь, когда вы добавляете новый источник данных в приложение, оно добавляет переменную среды.
Различные источники данных
Разные источники данных позволяют использовать разные типы переменных среды.
Microsoft Dataverse
Power Apps подключается изначально к Dataverse. В текущей среде переменная среды для таблиц в настоящее время не требуется. При подключении к Dataverse ваше приложение автоматически ищет точно такое же имя таблицы в любой среде, в которую вы переносите таблицу. Если структура имен таблиц в целевой среде такая же, как и в исходной, она работает.
Если вы используете внешнюю таблицу из другой среды (через «Изменение среды»), Power Apps предполагает, что вы всегда хотите ссылаться на ту же самую таблицу. Вам нужна переменная среды, если требуется, чтобы внешняя таблица была другой внешней таблицей при переходе от разработки к тестированию или к prod. Проще всего разрешить Power Apps автоматически создавать переменную среды. (Если вы ранее добавили таблицу в приложение, включите переключатель параметров, удалите внешнюю таблицу, а затем добавьте ее обратно.)
При добавлении внешней таблицы в приложение перейдите на вкладку Дополнительно, чтобы выбрать переменную среды.
SharePoint
SharePoint поддерживает только подключения Microsoft Entra. Поэтому для SharePoint в дополнение к допустимому соединению требуется отдельная переменная среды для сайта и списка.
Чтобы успешно использовать переменные среды с списками SharePoint:
- Отображаемое имя и логическое имя для каждого соответствующего столбца в исходной и целевой средах должны совпадать.
- Переменные окружения для SharePoint должны иметь соответствующие метаданные. SharePoint имеет внутренние идентификаторы, которые могут не совпадать между целевыми средами. Например, если вы создадите список с тем же именем и столбцами в целевой среде, внутренние имена не будут совпадать. Метаданные всегда совпадают, если вы дублируете сайт SharePoint и копируете его в целевую среду.
SQL Server
SQL Server поддерживает множество различных типов проверки подлинности и подключений. Используйте переменные среды для Microsoft Entra подключений. Для сервера и базы данных требуется отдельная переменная среды. Приложение привязано к определенным именам таблиц, поэтому предполагается, что они одинаковы в разных средах.
Не используйте переменные среды для общих подключений, таких как обычная проверка подлинности SQL с SQL Server. Используйте ссылки на подключения для информации, которая традиционно передается в рамках connection string. Базовые параметры проверки подлинности SQL являются частью connection string. Например, имя сервера и базы данных указывается при создании подключения и, следовательно, всегда является производным от подключения.
Переменные среды источника данных используются для соединителей с проверкой подлинности, например Microsoft Entra. В этих типах подключений Power Apps может идентифицировать только одного пользователя. Power Apps не может определить, с какой службой или таблицей вы планируете работать, используя это подключение.
Введите новые значения при импорте решений
Интерфейс импорта современного решения включает возможность ввода значений для переменных среды. Это устанавливает свойство значения в таблице environmentvariablevalue.
Значения переменных среды отображаются при импорте решений или при использовании конвейеров для развертывания. Переменные среды без значения по умолчанию или значения запрашивают значение, но в противном случае предварительно заполняются меткой под текстовой областью, обозначающей источник значения: значение решения, целевое значение среды или значение по умолчанию.
Заметка
- В некоторых случаях для определенных значений переменных среды источника данных может появиться предупреждение Отказано в доступе, если у создателя импорта нет доступа к подключению или источнику, используемому для переменной среды. Это неблокирующее предупреждение, но на него следует обратить внимание в зависимости от того, как вы планируете использовать переменную среды в целевой среде.
- Вы можете удалить значение из своего решения перед экспортом решения. Это гарантирует, что существующее значение останется в вашей среде разработки, но не будет экспортировано в решение. Такой подход позволяет предоставить новое значение при импорте решения в другие среды. Больше информации: Как удалить значение из переменной среды?
Уведомления
Уведомление отображается, когда переменные среды не имеются никаких значений. Задайте значения таким образом, чтобы компоненты, зависящие от переменных среды, не давали сбой.
Безопасность
Таблицей environmentvariabledefinitionвладеет пользователь или рабочая группа. При создании приложения, использующего переменные среды, обязательно назначьте пользователям соответствующий уровень привилегий для этой таблицы. Разрешение на таблицу environmentvariablevalue наследуется от родительской таблицы environmentvariabledefinition и поэтому не требует отдельных привилегий. Привилегии для таблиц environmentvariabledefinition включены по умолчанию в роли безопасности создателя среды и базового пользователя. Дополнительные сведения: Безопасность в Dataverse.
Именование
Убедитесь, что имена переменных среды уникальны, чтобы на них можно было точно ссылаться. Повторяющиеся отображаемые имена переменных среды затрудняют различение и использование переменных среды. Убедитесь, что имена переменных среды уникальны, чтобы на них можно было точно ссылаться. Имена $authentication и $connection — специально зарезервированные параметры для потоков, и их следует избегать. Сохранение потока блокируется, если используются переменные среды с такими именами. Если в потоке используется переменная среды и изменяется отображаемое имя переменной среды, то конструктор показывает как старый, так и новый токены отображаемых имен, чтобы облегчить идентификацию. При обновлении потока рекомендуется удалить ссылку на переменную среды и добавить ее снова.
Текущие ограничения
- Проверка значений переменных среды происходит в пользовательских интерфейсах и в компонентах, которые их используют, но не внутри Dataverse. Поэтому убедитесь, что установлены правильные значения, если они изменяются с помощью кода.
- Задачи Power Platform Build Tools пока недоступны для управления переменными среды источника данных. Однако это не препятствует их использованию в инструментах, предоставляемых Microsoft, и в системах управления версиями.
- Для взаимодействия с переменными среды с помощью пользовательского кода требуется вызывать API для получения значений; кэша, доступного для использования сторонним (не разработанным Майкрософт) кодом, не предусмотрено.
- Имя переменной среды может содержать максимум 2000 символов.
Вопросы и ответы
Почему я не вижу значение для моей переменной среды?
Если переменная среды находится в управляемом решении, вы не сможете увидеть это значение, пока не заглянете внутрь решения по умолчанию. Такое поведение является особенностью дизайна, поскольку значение переменной среды является неуправляемой настройкой.
Как я могу увидеть, где используются переменные среды?
Либо путем выбора Показать зависимости в интерфейсе решения при создании компонентов или в системе управления версиями и в файле решения путем просмотра метаданных приложения или потока.
Переменные среды источника данных — это то же самое, что и подключения?
№ Хотя они связаны между собой, подключение представляет собой учетные данные или аутентификацию, необходимые для взаимодействия с соединителем. В переменных среды источника данных хранятся параметры, которые требуются для одного или нескольких действий в соединителе, и эти параметры часто меняются в зависимости от действия. Например, подключение SharePoint Online не сохраняет информацию о сайтах, списках или библиотеках документов. Поэтому для вызова соединителя требуется как допустимое подключение, так и некоторые дополнительные параметры.
Может ли мой автоматизированный конвейер ALM использовать разные файлы значений для разных сред?
Да. Упаковщик решений принимает имя файла в качестве входных параметров, поэтому ваш конвейер может упаковать файл с разными значениями в решение в зависимости от типа среды, в которой он выполняется.
Следует ли включить значение в мое решение?
№ Переменные среды предназначены для использования приложениями, которые должны иметь разные значения в разных средах, в которых развернуто решение. Определения переменных среды должны быть включены в решение, но значения должны быть предоставлены для целевой среды во время развертывания. Такое поведение приводит к тому, что определение переменной среды является объектом управляемого решения в целевой среде, а переменная среды — неуправляемой записью.
Почему я не могу удалить значение в своей среде?
Если значение было добавлено в управляемое решение, единственный способ удалить значение — обновить решение в исходной среде, чтобы исключить значение, а затем экспортировать новую версию решения. Затем эту новую версию можно импортировать в среду с помощью операции установки новой версии (не обновления), в результате чего запись значения будет удалена.
Что, если кто-то случайно удалит значение?
Если это еще не предотвращено системой зависимостей, среда выполнения использует последнее известное значение в качестве запасного варианта.
Если значение изменено, когда новое значение будет использоваться в canvas-приложениях и в облачных потоках?
Полная публикация обновленных переменных среды может занять до часа, поскольку значение отправляется в приложения и передается асинхронно.
Требуются ли премиум-лицензии?
№ Хотя для ALM требуются приложения Dataverse (или Dynamics 365), использование соединителей класса Premium не требуется. Единственное предостережение: если вы используете соединитель Dataverse для взаимодействия с переменными среды как с другими записями данных, такими как учетные записи или контакты. Раньше это был единственный способ использовать переменные среды в приложениях на основе холста и потоках.
Есть ли ограничение на количество переменных среды, которые у меня могут быть?
№ Однако максимальный размер решения составляет 95 МБ. Дополнительные сведения: Создание решения
Можно ли локализовать отображаемые имена и описания переменных среды?
Да.
Следует ли использовать переменные среды вместо хранения данных конфигурации в настраиваемых таблицах?
Да, если ваши данные конфигурации не реляционные. Переменные среды следует использовать для пар "ключ : значение" и тогда, когда значение, вероятно, должно отличаться в других средах. Другие инструменты, такие как средство миграции конфигурации, лучше подходят для миграции данных реляционной конфигурации, хранящихся в пользовательских таблицах. В отличие от других данных конфигурации, переменные среды переносятся в решениях, поэтому ими гораздо проще управлять и более эффективно их импортировать.
Почему подключение не сохраняется для переменных среды источника данных?
Подключения используются только для создания пользовательского интерфейса. Например, чтобы получить понятные имена для списков SharePoint, связанных с сайтом. При редактировании переменной среды источника данных обязательно выберите соединение с доступом к источнику данных. Если у вас больше нет доступа к подключению, вы можете ввести значение вручную. Например, введите URL-адрес сайта SharePoint или уникальный идентификатор (GUID) для списка.
При наличии нескольких подключений, доступных для одной переменной среды (типа источника данных), существует встроенная реализация для выбора первого соединения в списке подключений. Поскольку с переменной среды обычно связано только одно подключение, обычно проверять это не требуется. Кроме того, благодаря недавним изменениям в видимости значений переменных среды, это стало проще проверять при импорте.
Как удалить значение из переменной среды?
Возможно, вы захотите удалить значение переменной среды из своего решения перед экспортом решения. Тогда существующее значение остается в вашей среде разработки, но не экспортируется в решение. Такой подход позволяет указать новое значение при импорте решения в другую среду.
Чтобы удалить значение, выполните следующие действия:
В решении, в котором находится переменная среды, выберите переменную среды для отображения свойств.
В Текущее значение выберите ...>Удалить из этого решения.
Можно ли использовать переменные среды в пользовательских соединителях?
Да. Поддержка переменных среды в пользовательских соединителях
См. также
Использование переменных среды источника данных в приложениях с холстом
Использовать переменные среды в облачных потоках решения Power Automate
Ссылка на таблицу/объект EnvironmentVariableDefinition
Примеры Web API
Использование переменных среды источника данных в приложениях Canvas
Использовать переменные среды в облачных потоках решения Power Automate
Использовать секреты Azure Key Vault
Поддержка переменных среды в пользовательских соединителях
Блог Power Apps: Переменные среды доступны в предварительной версии!