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


Обзор переменных среды для Power Platform

Переменные среды позволяют использовать базовый сценарий управления жизненным циклом приложения (ALM) для перемещения приложения между средами Power Platform. В этом сценарии приложение остается точно таким же, за исключением нескольких ключевых ссылок на внешние приложения (таких как таблицы, подключения и ключи), которые отличаются в исходной среде и среде назначения. Приложение требует, чтобы структура таблиц или подключений была одинаковой между исходной и конечной средами с некоторыми отличиями. Переменные среды позволяют указать, какие из этих различных внешних ссылок должны обновляться при перемещении приложения между средами.

Переменные среды хранят ключи и значения параметров, которые затем служат входными данными для различных других объектов приложения. Отделение параметров от объектов-потребителей позволяет изменять значения в той же среде или при переносе решений в другие среды. Альтернативный вариант — оставить жестко запрограммированные значения параметров в компонентах, которые их используют. Это часто бывает проблематично; особенно, когда значения необходимо изменить во время операций ALM. Поскольку переменные среды являются компонентами решения, вы можете переносить ссылки (ключи) и изменять значения при переносе решений в другие среды.

Заметка

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

Преимущества использования переменных среды:

  • Укажите новые значения параметров во время импорта решений в другие среды.
  • Конфигурация хранилища для источников данных, используемых в приложениях на основе холста и потоках. Например, параметры сайта и списка SharePoint Online могут быть сохранены как переменные среды; таким образом, вы можете подключаться к разным сайтам и спискам в разных средах без необходимости изменять приложения и потоки.
  • Упакуйте и перенесите свои настройки и конфигурацию вместе и управляйте ими в одном месте.
  • Упаковывайте и передавайте секреты, такие как учетные данные, используемые разными компонентами, отдельно от компонентов, которые их используют.
  • Одна переменная среды может использоваться во многих различных компонентах решения: будь то компоненты одного типа или разные. Например, приложение на основе холста и поток могут использовать одну и ту же переменную среды. Когда необходимо изменить значение переменной среды, вам нужно изменить только одно значение.
  • Кроме того, если вам нужно исключить источник данных в рабочей среде, вы можете обновить значения переменных среды информацией для нового источника данных. Приложения и потоки не требуют модификации и начинают использовать новый источник данных.
  • Поддерживается средствами SolutionPackager и DevOps и обеспечивает непрерывную интеграцию и непрерывную доставку (CI/CD).
  • Переменные среды можно распаковать и сохранить в системе управления версиями. Вы также можете хранить разные файлы значений переменных среды для отдельной конфигурации, необходимой в разных средах. Затем упаковщик решений может принять файл, соответствующий среде, в которую импортируется решение.

Как работают переменные среды?

Переменные среды могут быть созданы и изменены в интерфейсе современного решения, автоматически созданы при подключении к определенным источникам данных в приложениях на основе холста или с помощью кода. Их также можно импортировать в среду с помощью решений. Когда переменные среды присутствуют в среде, их можно использовать в качестве входных данных при создании приложений на основе холста, потоков Power Automate, при разработке подключаемых модулей и во многих других местах, таких как добавление панели мониторинга Power BI в приложение на основе модели. Когда эти типы объектов используют переменные среды, значения затем извлекаются из переменных среды и могут быть изменены при импорте решений в другие среды.

Создание переменной среды в решении

  1. Выполните вход в Power Apps (make.powerapps.com), затем на левой панели выберите Решения. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
  2. Откройте нужное решение или создайте новое.
  3. На панели команд выберите Создать>Дополнительно, затем выберите Переменная среды.
  4. На правой панели заполните следующие столбцы, а затем выберите Сохранить:
    • Отображаемое имя. Введите имя для переменной среды.

    • Имя. Уникальное имя автоматически генерируется из значения Отображаемое имя, но вы можете изменить его.

    • Тип данных. Выберите Десятичное число, Текст, JSON, Два параметра, Источник данных или Секрет.

      Заметка

      • Если выбран Источник данных, вам также необходимо выбрать соединитель, допустимое подключение для выбранного соединителя и тип параметра. Однако подключение не сохраняется как часть переменной среды. Подключение используется только для получения доступных значений параметров, таких как сайты SharePoint, к которым у вас есть доступ, или списки, связанные с сайтом. По некоторым параметрам, таким как списки SharePoint, вам также необходимо выбрать родительскую переменную среды источника данных, например сайт SharePoint. После сохранения они будут связаны в базе данных.
      • Если Секрет является выбранным типом, необходима дополнительная информация для установки и настройки Azure Key Vault, чтобы разрешить Power Platform получить доступ к секрету.
    • Current Value. Также называется значением. Это свойство не является обязательным и является частью таблицы значений переменных среды. Когда присутствует значение, оно используется, даже если также присутствует значение по умолчанию. Удалите значение из своего решения, если не хотите использовать его в следующей среде. Значения также разделены на отдельные файлы JSON в экспортированном файле solution.zip и могут редактироваться в автономном режиме. Больше информации: Как удалить значение из переменной среды?

    • Значение по умолчанию. Этот столбец является частью таблицы определения переменных среды и не является обязательным. Значение по умолчанию используется, если нет текущего значения.

      Разделение значения по умолчанию и текущего значения позволяет вам использовать определение и значение по умолчанию отдельно от значения. Например, издатель приложения может разместить свое предложение на AppSource со значением по умолчанию. Затем при желании покупатель может указать новое значение. Когда издатель приложения публикует обновления для приложения, значение, установленное клиентом, не будет перезаписано.

      Новая переменная среды.

      Заметка

      Значение не может существовать без определения. Интерфейс позволяет только создавать одно значение на определение.

Введите новые значения при импорте решений

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

Начиная с обновления от 7 декабря 2023 г. все значения переменных среды видны при импорте решений (или при использовании конвейеров для развертывания). Для переменных среды без значения по умолчанию или значения будет предложено ввести значение, но в противном случае они будут предварительно заполнены подписью под текстовой областью, обозначающей источник значения: значение решения, значение целевой среды или значение по умолчанию.

Видимость переменных среды во время импорта решения.

Заметка

  • В некоторых случаях для определенных значений переменной среды источника данных может появиться предупреждение Доступ запрещен, если у импортирующего создателя нет доступа к соединению или источнику, используемому для переменной среды. Это неблокирующее предупреждение, но на него следует обратить внимание в зависимости от того, как вы планируете использовать переменную среды в целевой среде.
  • Вы можете удалить значение из своего решения перед экспортом решения. Это гарантирует, что существующее значение останется в вашей среде разработки, но не будет экспортировано в решение. Такой подход позволяет предоставить новое значение при импорте решения в другие среды. Больше информации: Как удалить значение из переменной среды?

Уведомления

Уведомление отображается, когда переменные среды не имеются никаких значений. Это напоминание о необходимости задать значения, чтобы компоненты, зависящие от переменных среды, не завершались ошибкой.

Группа безопасности

Таблицей environmentvariabledefinition владеет пользователь или рабочая группа. При создании приложения, использующего переменные среды, обязательно назначьте пользователям соответствующий уровень привилегий для этой таблицы. Разрешение на таблицу environmentvariablevalue наследуется от родительской таблицы environmentvariabledefinition и поэтому не требует отдельных привилегий. Привилегии для таблиц environmentvariabledefinition включены в роли безопасности создателя среды и базового пользователя по умолчанию. Дополнительные сведения: Безопасность в Dataverse.

Именование

Убедитесь, что имена переменных среды уникальны, чтобы на них можно было точно ссылаться. Повторяющиеся отображаемые имена переменных среды затрудняют различение и использование переменных среды. Убедитесь, что имена переменных среды уникальны, чтобы на них можно было точно ссылаться. Имена $authentication и $connection — специально зарезервированные параметры для потоков, и их следует избегать. Сохранение потока блокируется, если используются переменные среды с такими именами. Если в потоке используется переменная среды и изменяется отображаемое имя переменной среды, то конструктор показывает как старый, так и новый токены отображаемых имен, чтобы облегчить идентификацию. При обновлении потока рекомендуется удалить ссылку на переменную среды и добавить ее снова.

Текущие ограничения

  • Проверка значений переменных среды происходит в пользовательских интерфейсах и в компонентах, которые их используют, но не внутри Dataverse. Поэтому убедитесь, что установлены правильные значения, если они изменяются с помощью кода.
  • Задачи Power Platform Build Tools пока недоступны для управления переменными среды источника данных. Однако это не препятствует их использованию в инструментах, предоставляемых Microsoft, и в системах управления версиями.
  • Для взаимодействия с переменными среды с помощью пользовательского кода требуется вызывать API для получения значений; кэша, доступного для использования сторонним (не разработанным Майкрософт) кодом, не предусмотрено.
  • Для успешного использования переменных среды в сочетании со списками SharePoint отображаемое имя и логическое имя каждого соответствующего столбца в исходной и целевой средах должны совпадать.
  • Имя переменной среды может содержать максимум 2000 символов.

Вопросы и ответы

Почему я не вижу значение для моей переменной среды?

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

Где используются переменные среды?

Либо путем выбора Показать зависимости в интерфейсе решения при создании компонентов или в системе управления версиями и в файле решения путем просмотра метаданных приложения или потока.

Переменные среды источника данных — это то же самое, что и подключения?

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

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

Вообще-то нет. Общие подключения с SQL Server хранят параметры, необходимые для подключения к данным внутри подключения. Например, имя сервера и базы данных указывается при создании подключения и, следовательно, всегда является производным от подключения.

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

Может ли мой автоматизированный конвейер ALM использовать разные файлы значений для разных сред?

Да. Упаковщик решений принимает имя файла в качестве входных параметров, поэтому ваш конвейер может упаковать файл с разными значениями в решение в зависимости от типа среды, в которой он выполняется.

Следует ли добавлять значение в решение?

Нет. Переменные среды предназначены для использования приложениями, которые должны иметь разные значения в разных средах, в которых развернуто решение. Определения переменных среды должны быть включены в решение, но значения должны быть предоставлены для целевой среды во время развертывания. Такое поведение приводит к тому, что определение переменной среды является объектом управляемого решения в целевой среде, а переменная среды — неуправляемой записью.

Почему я не могу удалить значение в своей среде?

Если значение было добавлено в управляемое решение, единственный способ удалить значение — обновить решение в исходной среде, чтобы исключить значение, а затем экспортировать новую версию решения. Затем эту новую версию можно импортировать в среду с помощью операции установки новой версии (не обновления), в результате чего запись значения будет удалена.

Что, если кто-то случайно удалит значение?

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

Если значение изменено, когда новое значение будет использоваться в приложениях на основе холста и облачных потоках?

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

Требуются ли премиум-лицензии?

№ Хотя ALM требует Dataverse (или приложения Dynamics 365) использование премиум-соединителей не требуется. Единственное предостережение: если вы используете соединитель Dataverse для взаимодействия с переменными среды как с другими записями данных, такими как учетные записи или контакты. Раньше это был единственный способ использовать переменные среды в приложениях на основе холста и потоках.

Есть ли ограничение на количество переменных среды, которые у меня могут быть?

№ Однако максимальный размер решения составляет 95 МБ. Дополнительные сведения: Создание решения

Можно ли локализовать отображаемые имена и описания переменных среды?

Да.

Следует ли использовать переменные среды вместо хранения данных конфигурации в настраиваемых таблицах?

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

Почему подключение не сохраняется для переменных среды источника данных?

Подключения используются только для создания пользовательского интерфейса. Например, для извлечения понятных имен для списков SharePoint, связанных с сайтом. При редактировании переменной среды источника данных обязательно выберите соединение с доступом к источнику данных. Если у вас больше нет доступа к подключению, вы можете ввести значение вручную. Например, введите URL-адрес сайта SharePoint или уникальный идентификатор (GUID) для списка.

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

Как удалить значение из переменной среды?

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

Чтобы удалить значение, выполните следующие действия:

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

  2. В Текущее значение выберите ...>Удалить из этого решения.

    Удаление значения из переменной среды

Можно ли использовать переменные среды в пользовательских соединителях?

Да. Поддержка переменных среды в пользовательских соединителях

См. также

Использование переменных среды источника данных в приложениях на основе холста
Использование переменных среды в облачных потоках решения Power Automate
Ссылка на таблицу/сущность EnvironmentVariableDefinition
Примеры веб-API
Использование переменных среды источников данных в приложениях на основе холста
Использование переменных среды в облачных потоках решения Power Automate
Использование секретов Azure Key Vault
Поддержка переменных среды в пользовательских соединителях
Блог Power Apps: доступна предварительная версия переменных среды!