环境变量

更新时间:2024-09-03 15:10:11

环境变量是在函数运行期间可供其使用的变量,它提供了一种在不修改代码的情况下,灵活控制函数行为的机制。通过环境变量,开发者可以将敏感信息和配置参数从代码中分离出来,提高代码的安全性和可维护性。例如,可以使用环境变量存储数据库连接信息、API 密钥等敏感数据,或控制函数的特定行为,如切换功能开关或调整超时时间。

环境变量的优势

  • 安全性: 存储敏感信息在环境变量中,避免硬编码进代码,提高代码的安全性。即使代码被泄露,攻击者也无法获取存储在环境变量中的敏感信息。
  • 灵活性: 可以随时修改环境变量的值,而无需更改代码或重新部署函数。这使得在不同环境中使用不同配置,或在运行时动态调整函数行为变得非常方便。

如何配置环境变量

在开始配置环境变量之前,请确保您已经创建了至少一个函数,并且该函数已经部署生效。您可以按照以下步骤在Edge Cloud Apps控制台中设置和管理函数的环境变量:

  1. 登录 CDNetworks 控制台,选择Edge Application产品,找到Edge Cloud Apps菜单栏并点击函数列表
  2. 选择您要设置环境变量的目标函数,进入函数详情页面。
  3. 切换至环境变量标签页,点击编辑按钮,进入环境变量编辑页面。
  4. 在此页面中,您可以添加、修改或删除环境变量。

参数说明

参数 描述
变量名称 您所创建的环境变量名称,即
当前生效值 已部署到全平台并在生产环境中实际使用的变量
新值(待部署) 编辑后暂存于平台上尚未生效的变量值。部署前建议您先在CloudIDE的预部署环境中验证配置是否正确


  1. 完成环境变量的配置后,点击保存按钮保存所有更改。
  2. 在CloudIDE预部署环境中测试您的函数,确保环境变量生效并且函数能够正常读取和使用环境变量的值。
  3. 验证通过后,点击部署按钮将环境变量部署到生产环境。

使用限制

为了确保平台的稳定性和性能,Edge Cloud Apps对环境变量的使用进行了一定的限制:

  • 键: 必须以大小写字母开头,只能包含大小写字母、数字和下划线 _,长度为 2-64 个字符。
  • 值: 长度不超过 512 个字符,不能为空。
  • 环境变量个数: 每个函数最多可以设置 20 个环境变量。 如果您需要更多环境变量,请联系 CDNetworks客户技术支持团队。

在代码中使用环境变量

您可以直接在全局作用域内引用环境变量。 例如,如果环境变量配置为:

{"vars":{"DATABASE_URL":"mysql://user:password@host:port/database","API_KEY":"your_api_key"}}

Use code with caution.

您可以在代码中直接使用 DATABASE_URLAPI_KEY 来访问它们的值,如下所示:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  // 连接到数据库
  const db = connectToDatabase(DATABASE_URL); 
  // 调用 API
  const apiResponse = await fetch('https://api.example.com/?key=' + API_KEY); 
  // ...
}

注意事项

  • 测试环境验证: 在保存环境变量后,请务必在CloudIDE测试环境中进行测试,确保函数能够正常读取和使用环境变量。
  • 代码容错机制: 为了保证线上服务的质量,建议您在代码中加入容错机制,例如处理环境变量不存在或值无效的情况。 这可以防止因为环境变量配置错误而导致函数运行失败。
  • 部署生效: 修改后的环境变量将在部署后在线上正式生效。 在您部署函数之前,线上环境仍然使用的是旧的环境变量值。
  • 代码修改: 如果您修改了函数代码,请重新进行函数的灰度部署流程,以确保新代码和新环境变量能够一起生效。
  • 函数部署: 您必须先成功部署函数,才能部署环境变量。环境变量是与函数绑定的,因此只有在函数存在的情况下才能设置环境变量。
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!