您可以使用环境变量来灵活调整您部署的应用,而无需修改代码。环境变量作为应用版本配置的一部分,以字符串键值对的方式存储,并且每个应用版本都有其独立的环境变量。本文介绍环境变量的基本信息、控制台部署方式以及示例代码。
使用限制
字符集规则
Key的字符集必须以大小写字母开头,只能包含大小写字母和数字。
大小限制
所有环境变量的大小总和不能超过4 KB。
系统预留环境变量
为避免系统混淆,设置环境变量时,请勿使用系统预留的环境变量accessKeyID、accessKeySecret、securityToken和topic。
重要系统环境变量accessKeyID、accessKeySecret和securityToken为临时密钥敏感信息,请勿向第三方透露。
使用场景
跨平台或跨服务共享代码
同一份代码在测试环境和生产环境运行时的配置可能存在差异。例如,您可以通过环境变量的方式选择使用不同的OSS Bucket、数据库或者表格,而无需修改代码。代码在不同平台部署时也无需更改。
配置密钥
您可以通过环境变量设置连接数据库的用户名和密码、您的阿里云AccessKey或其他安全敏感性的认证信息。
配置系统变量
在配置PATH和HOME等目录时,您可以更灵活地使用系统库。
操作步骤
在创建Web应用时设置环境变量
登录SAE控制台。
在左侧导航栏,单击应用管理,在顶部菜单栏选择地域,然后在应用列表页面,单击创建应用。
在应用基本信息配置向导,应用类型选择Web应用,并配置相关信息,然后单击下一步:高级设置。
在高级设置配置向导的环境变量区域,选择使用表单编辑或使用JSON格式编辑,然后单击创建应用。
使用表单编辑(默认)
单击+添加变量,输入键值对。
变量:自定义,例如输入
BUCKET_NAME
、TABLE_NAME
。值:自定义,例如输入
MY_BUCKET
、MY_TABLE
。
示例如下。
使用JSON格式编辑
单击使用JSON格式编辑,输入JSON格式的键值对。格式如下。
{ "key": "value"}
示例如下。
应用创建成功后,页面会跳转至应用的基础信息页面。
在更新Web应用时设置环境变量
环境变量既可以在创建应用时设置,也可以在更新应用版本时设置。本步骤以更新应用版本时为例,因此您需要先创建应用。具体操作,请参见管理应用。
登录SAE控制台。
在左侧导航栏,单击应用管理,在顶部菜单栏选择地域,然后在应用列表页面,单击目标应用名称。
在左侧导航栏,单击版本列表,然后在版本列表页面,单击新建版本。
除了直接新建版本,您也可以选择在现有版本的基础上编辑,在目标版本的操作列,单击编辑,同样会生成新版本。
在新建版本面板的环境变量区域,选择使用表单编辑或使用JSON格式编辑,然后单击确定。
使用表单编辑(默认)
单击+添加变量,输入键值对。
变量:自定义,例如输入
BUCKET_NAME
、TABLE_NAME
。值:自定义,例如输入
MY_BUCKET
、MY_TABLE
。
示例如下。
使用JSON格式编辑
单击使用JSON格式编辑,输入JSON格式的键值对。格式如下。
{ "key": "value"}
示例如下。
版本创建成功后,您可以在版本列表页面查看新建的版本。
在创建微服务应用时设置环境变量
登录SAE控制台。
在左侧导航栏,单击应用管理,在顶部菜单栏选择地域,然后在应用列表页面,单击创建应用。
在应用基本信息配置向导,应用类型选择微服务应用,并配置相关信息,然后单击下一步:高级设置。
在高级设置配置向导的环境变量区域,配置以下信息,然后单击创建应用。
添加自定义环境变量:从类型下拉列表,选择自定义,并输入变量名称和变量值。
引用配置项作为环境变量:从类型下拉列表,选择引用配置项,输入变量名称,并在变量值下拉列表选择已创建的配置项名称和该配置项中的键。支持配置单个键或者全部键。
如果选择挂载全部键,每个键的变量名称默认和选择配置的键名称保持一致,不可自定义。
说明除了在命名空间页面提前创建好配置项,您也可以在环境变量设置区域单击创建配置项(K8s configmap),在创建配置项面板创建。具体操作,请参见管理和使用配置项(K8s ConfigMap)。
应用创建成功后,页面会跳转至应用的基础信息页面。
在更新微服务应用时设置环境变量
具体操作,请参见设置环境变量。
环境变量示例
某应用集成了MySQL,在应用使用时需为其配置MySQL运行所需的环境变量。
MYSQL_ROOT_PASSWORD
:用于设置MySQL的Root密码。如果不设置该项,则MySQL容器无法正常启动。MYSQL_USER
和MYSQL_PASSWORD
:用于添加除Root之外的账号及其密码。MYSQL_DATABASE
:用于设置生成容器时需要新建的数据库。
验证结果
如果您想要查看已配置的环境变量,可以登录SAE控制台,在目标应用的版本列表页面,单击目标版本,然后在版本详情页面的版本实例页签,查看所有版本实例,在目标实例的操作列,单击Webshell,输入env
查看环境变量,即可看到当前应用版本配置的环境变量。
- 本页导读 (1)