环境变量可以分离函数代码和配置信息,提高代码的灵活性和可移植性。通过利用函数计算的环境变量动态地将配置信息传递给函数代码,能避免将配置信息写死到函数代码中。环境变量以键值对的方式存储,是函数配置的一部分。不同函数可以拥有不同的环境变量,并且互不影响。
创建或者更新环境变量时,函数计算会对您的环境变量使用 AES256(Advanced Encryption Standard 256)标准加密存储,在运行函数时自动反向解密,您无需担心自己的数据安全。
跨平台或服务部署:同一份代码,在测试环境和生产环境运行时的配置可能有配置差异。例如,您可以通过环境变量的方式选择使用不同的对象存储 OSS 的 Bucket、数据库或者表格。函数在不同平台部署时无需更改代码。
配置密钥:连接数据库的用户名和密码、您的阿里云AccessKey、或者其他有安全敏感性的认证信息都可以通过环境变量设置。
配置系统变量:在配置PATH和HOME等目录时能够更灵活地使用系统库。此回答来自钉群阿里函数计算官网客户。
在阿里云函数计算 (Function Compute, FC) 上,您可以部署包括 Nginx、Redis、MySQL 和消息队列 (MQ) 在内的所有组件。但是,需要注意的是,函数计算并不适合所有类型的场景。特别是对于具有大量状态管理和持久存储需求的应用程序,例如数据库和消息队列,可能更适合使用其他阿里云服务,如阿里云数据库 RDS 或消息服务 MQ。
在阿里云函数计算中,如果你的环境变量设置了,但时间仍然不正确,可能有以下几种原因:
环境变量未生效:你可能在设置环境变量后没有重新启动函数计算实例,导致环境变量尚未生效。你可以尝试重新启动函数计算实例,看是否能解决问题。
环境变量格式错误:你可能在设置环境变量时,格式不正确。例如,你可能将字符串类型的值设置为环境变量的值,而不是将字符串转换为时间对象。
环境变量被覆盖:如果你的函数代码中有其他部分覆盖了环境变量,那么即使你在函数计算控制台中设置了环境变量,实际运行时的环境变量也可能被覆盖。
你可以检查一下你的代码,看看是否有上述问题。
日志服务记录的时间和函数计算的时间不一致,可能是因为两者使用的时间格式和时区不一致。
函数计算默认以UTC时间运行,也就是0时区,即北京时间减去8个小时。例如北京时间每天12:00,转化为UTC时间就是每天04:00。您可以通过设置环境变量进行时区修改,例如,设置变量TZ的值为Asia/Shanghai后,函数计算的时区被修改为东8区,即北京时间。具体操作,请参见环境变量。
https://help.aliyun.com/zh/fc/user-guide/environment-variables#multiTask2981
特殊要注意的是,在Node.js运行环境中,直接执行console.log(date)打印Date会转换成UTC时间,您可以先转成String,然后再打印Date,脚本如console.info(new Date().toLocaleString());。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。