文档

设置环境变量

更新时间:

您可以使用环境变量来灵活调整您部署的应用,而无需修改代码。环境变量作为应用版本配置的一部分,以字符串键值对的方式存储,并且每个应用版本都有其独立的环境变量。本文介绍环境变量的基本信息、控制台部署方式以及示例代码。

使用限制

  • 字符集规则

    Key的字符集必须以大小写字母开头,只能包含大小写字母和数字。

  • 大小限制

    所有环境变量的大小总和不能超过4 KB。

  • 系统预留环境变量

    为避免系统混淆,设置环境变量时,请勿使用系统预留的环境变量accessKeyIDaccessKeySecretsecurityTokentopic

    重要

    系统环境变量accessKeyIDaccessKeySecretsecurityToken为临时密钥敏感信息,请勿向第三方透露。

使用场景

  • 跨平台或跨服务共享代码

    同一份代码在测试环境和生产环境运行时的配置可能存在差异。例如,您可以通过环境变量的方式选择使用不同的OSS Bucket、数据库或者表格,而无需修改代码。代码在不同平台部署时也无需更改。

  • 配置密钥

    您可以通过环境变量设置连接数据库的用户名和密码、您的阿里云AccessKey或其他安全敏感性的认证信息。

  • 配置系统变量

    在配置PATH和HOME等目录时,您可以更灵活地使用系统库。

操作步骤

在创建Web应用时设置环境变量

  1. 登录SAE控制台

  2. 在左侧导航栏,单击应用管理,在顶部菜单栏选择地域,然后在应用列表页面,单击创建应用

  3. 应用基本信息配置向导,应用类型选择Web应用,并配置相关信息,然后单击下一步:高级设置

  4. 高级设置配置向导的环境变量区域,选择使用表单编辑使用JSON格式编辑,然后单击创建应用

    • 使用表单编辑(默认)

      单击+添加变量,输入键值对。

      • 变量:自定义,例如输入BUCKET_NAMETABLE_NAME

      • 值:自定义,例如输入MY_BUCKETMY_TABLE

      示例如下。

      image.png
    • 使用JSON格式编辑

      单击使用JSON格式编辑,输入JSON格式的键值对。格式如下。

      { "key": "value"}

      示例如下。

      image.png

    应用创建成功后,页面会跳转至应用的基础信息页面。

在更新Web应用时设置环境变量

环境变量既可以在创建应用时设置,也可以在更新应用版本时设置。本步骤以更新应用版本时为例,因此您需要先创建应用。具体操作,请参见管理应用

  1. 登录SAE控制台

  2. 在左侧导航栏,单击应用管理,在顶部菜单栏选择地域,然后在应用列表页面,单击目标应用名称。

  3. 在左侧导航栏,单击版本列表,然后在版本列表页面,单击新建版本

    除了直接新建版本,您也可以选择在现有版本的基础上编辑,在目标版本的操作列,单击编辑,同样会生成新版本。

  4. 新建版本面板的环境变量区域,选择使用表单编辑使用JSON格式编辑,然后单击确定

    • 使用表单编辑(默认)

      单击+添加变量,输入键值对。

      • 变量:自定义,例如输入BUCKET_NAMETABLE_NAME

      • 值:自定义,例如输入MY_BUCKETMY_TABLE

      示例如下。

      image.png
    • 使用JSON格式编辑

      单击使用JSON格式编辑,输入JSON格式的键值对。格式如下。

      { "key": "value"}

      示例如下。

      image.png

    版本创建成功后,您可以在版本列表页面查看新建的版本。

在创建微服务应用时设置环境变量

  1. 登录SAE控制台

  2. 在左侧导航栏,单击应用管理,在顶部菜单栏选择地域,然后在应用列表页面,单击创建应用

  3. 应用基本信息配置向导,应用类型选择微服务应用,并配置相关信息,然后单击下一步:高级设置

  4. 高级设置配置向导的环境变量区域,配置以下信息,然后单击创建应用

    • 添加自定义环境变量:从类型下拉列表,选择自定义,并输入变量名称变量值

      image.png
    • 引用配置项作为环境变量:从类型下拉列表,选择引用配置项,输入变量名称,并在变量值下拉列表选择已创建的配置项名称和该配置项中的键。支持配置单个键或者全部键。

      如果选择挂载全部键,每个键的变量名称默认和选择配置的键名称保持一致,不可自定义。

      image.png
      说明

      除了在命名空间页面提前创建好配置项,您也可以在环境变量设置区域单击创建配置项(K8s configmap),在创建配置项面板创建。具体操作,请参见管理和使用配置项(K8s ConfigMap)

    应用创建成功后,页面会跳转至应用的基础信息页面。

在更新微服务应用时设置环境变量

具体操作,请参见设置环境变量

环境变量示例

某应用集成了MySQL,在应用使用时需为其配置MySQL运行所需的环境变量。

  • MYSQL_ROOT_PASSWORD:用于设置MySQL的Root密码。如果不设置该项,则MySQL容器无法正常启动。

  • MYSQL_USERMYSQL_PASSWORD:用于添加除Root之外的账号及其密码。

  • MYSQL_DATABASE:用于设置生成容器时需要新建的数据库。

验证结果

如果您想要查看已配置的环境变量,可以登录SAE控制台,在目标应用的版本列表页面,单击目标版本,然后在版本详情页面的版本实例页签,查看所有版本实例,在目标实例的操作列,单击Webshell,输入env查看环境变量,即可看到当前应用版本配置的环境变量。

image.png

  • 本页导读 (1)
文档反馈