设置环境变量

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

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

使用限制

  • 字符集规则

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

  • 大小限制

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

  • 系统预留环境变量

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

    重要

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

使用场景

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

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

  • 配置密钥

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

  • 配置系统变量

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

操作步骤

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

  1. 登录SAE控制台

  2. 在左侧导航栏,选择应用管理 > Web应用,在顶部菜单栏选择地域。

  3. 应用列表页面,单击创建应用

  4. 应用基本信息页面,按照页面提示完成参数配置,然后单击下一步:高级设置

  5. 在高级设置页面的环境变量区域,设置以下参数。

    • 使用单表编辑(默认):

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

      • 变量:自定义。如BUCKET_NAMETABLE_NAME

      • 值:自定义。如MY_BUCKETMY_TABLE

      示例如下。

      image

    • 使用 JSON 格式编辑

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

      { "key": "value"}

      示例如下。

      image

  6. 单击创建应用

在部署新版本时设置环境变量

警告

部署新版本后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。

  1. 登录SAE控制台

  2. 在左侧导航栏,选择应用管理 > Web应用,在顶部菜单栏选择地域。

  3. 应用列表页面,单击目标应用名称。

  4. 在左侧导航栏,单击基础信息页面,单击新建版本

  5. 可选:在左侧导航栏,单击版本列表,然后单击新建版本

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

    • 使用单表编辑(默认):

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

      • 变量:自定义。如BUCKET_NAMETABLE_NAME

      • 值:自定义。如MY_BUCKETMY_TABLE

      示例如下。

      image

    • 使用 JSON 格式编辑

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

      { "key": "value"}

      示例如下。

      image

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

环境变量示例

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

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

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

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

验证结果

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

image.png