PowerPlatform环境变量主要用于存储和管理全局设置、配置信息和应用程序数据。环境变量可以在解决方案(Solutions)中创建,从而在多个PowerApps、Power Automate Flow中使用,提供了一种集中化的方式来管理和配置多个应用程序的行为和属性。
应用场景
- 全局设置: 存储全局设置,如默认语言、主题、公司标志,这样当需要修改多个应用时,只需要在环境变量中更新一次,所有应用都会自动生效
- 配置信息: 存储应用程序的配置信息,如API密钥、数据库连接字符串、第三方服务的配置,这样集中管理配置信息,并在应用中引用,从而方便维护和更新
- 共享数据: 使用环境变量存储共享数据,如公司的地址、员工信息、产品目录,避免重复存储和维护相同的数据
- 应用程序数据:使用环境变量存储应用程序的数据,例如状态信息、计数器用户首选项,从而实现数据同步和一致性
优点
- 集中化管理:集中管理全局设置、配置信息和共享数据,减少重复存储和维护数据,提高数据的一致性和可维护性
- 动态更新:环境变量的值在运行时动态读取和写入,可以在重新发布应用程序的情况下更新应用程序的行为和属性,从而实现应用程序的灵活性和可配置性
- 安全性:环境变量可以配置不同的方位权限,确保敏感信息的安全
- 可扩展性:环境变量支持多种数据类型,包括文本、数字、日期、布尔等。
创建环境变量
环境变量存在于解决方案中,在使用环境变量之前,需要先创建解决方案。
- 打开PowerApps网站
- 点击左侧导航栏
Solutions
- 选择已经存在的解决方案,或者创建新的解决方案
- 打开解决方案后,在
Objects
中点击Environment variables
- 点击
New
->More
->Environment variable
- 创建以Text为数据类型的环境变量
1
2
3
4
5
6
7
8
9
10
11
12Display name:
AppName
Name:
meekou_AppName
Description:
App Name for meekou
Data Type:
Text
Default value:
米可爱分享
Current value:
米可爱分享
- 创建以Data source为数据类型的环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18Display name:
SharePointMeekouSource
Name:
meekou_SharePointMeekouSource
Description:
SharePoint data source for meekou
Data Type:
Data source
Connector:
SharePoint
Connection:
your sharepoint connection
Parameter Type:
Site(按需填写)
Current site value:
按需填写,不填写使用Default site value
Default site value:
按需填写 - 点击Save后即可
- 点击
···
进行修改删除
在画布中使用环境变量
环境变量只适用于当前解决方案中的画布程序
- 打开当前解决方案中的任意画布程序
- 点击
Data
->Add data
->SharePoint
- 在
Connect to a SharePoint site
中->Advanced
- 选择之前新加的环境变量
SharePointMeekouSource
- 按需选择List操作
使用Text
环境变量
环境变量值存储于Environment Variable Definitions
和Environment Variable Values
Environment Variable Definitions
存储配置与默认值Environment Variable Values
存储修改值,如未定义Current value
则不会存在记录
可以通过Lookup
进行查询,如
1 | //LookUp('Environment Variable Definitions','Display Name' = "AppName").'Default Value' |
- 动态更新环境变量的值
1 | Patch( |
在Power Automate中使用环境变量
- 在当前解决方案中创建新的流,命名为
EnvironmentVariablesFlow
- 添加输入
VariableName
- 在
Dynamic content
中选择所需要的Environment variables
- 通过
Query Environment Variable Definitions
与Dataverse.List Rows
根据环境变量名查询值1
2
3
4
5
6Table name:
Environment Variable Definitions
Select columns:
schemaname,defaultvalue
Filter rows:
schemaname eq '@{triggerBody()['text']}' - 通过
Query Environment Variable Values
与Dataverse.List Rows
根据环境变量名查询值1
2
3
4Table name:
Environment Variable Values
Filter rows
EnvironmentVariableDefinitionId/schemaname eq '@{triggerBody()['text']}' - 通过
Fetch Xml Query
根据变量名查询变量值1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17Table Name:
Environment Variable Values
Fetch Xml Query:
<fetch mapping="logical">
<entity name="environmentvariablevalue">
<attribute name="schemaname" alias="schemaname" />
<attribute name="value" alias="value" />
<link-entity name="environmentvariabledefinition" alias='environmentvariabledefinition'
from="environmentvariabledefinitionid" to="environmentvariabledefinitionid">
<filter type="and">
<condition attribute="schemaname" operator="eq" value="@{triggerBody()['text']}" />
</filter>
<attribute name="schemaname" />
<attribute name="defaultvalue" />
</link-entity>
</entity>
</fetch>