📅  最后修改于: 2023-12-03 14:49:02.810000             🧑  作者: Mango
在云函数中,我们经常需要使用一些配置信息,例如数据库连接字符串、API密钥、邮件服务器的地址等等。这些信息不应该硬编码在代码中,而是应该使用环境变量来存储,在代码中通过环境变量来获取。本文将介绍如何在云函数中使用 Shell-Bash 脚本来读取和设置环境变量。
在 Shell-Bash 中,我们可以使用 echo $环境变量名称
来读取环境变量。例如,读取名为 DB_CONN_STR
的环境变量:
#!/bin/bash
echo $DB_CONN_STR
如果环境变量不存在,那么输出将为空。
同样地,我们可以使用 export 环境变量名称=变量值
来设置环境变量。例如,设置名为 API_KEY
的环境变量:
#!/bin/bash
export API_KEY='xxxxxx'
如果需要在脚本中使用多个环境变量,可以使用多行赋值来进行设置:
#!/bin/bash
export DB_CONN_STR='xxxxxx'
export API_KEY='xxxxxx'
export EMAIL_SERVER='xxxxxx'
在云函数中,我们可以在执行函数时设置环境变量。以云函数的触发器设置为 API 网关为例,假设我们需要传递一个名为 user_id
的参数和名为 API_KEY
的环境变量:
import requests
import json
import os
def main_handler(event, context):
user_id = event.get('user_id')
api_key = os.environ.get('API_KEY')
headers = {'X-Api-Key': api_key}
response = requests.get(f'https://api.example.com/users/{user_id}', headers=headers)
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': json.dumps(response.json())
}
在代码中使用 os.environ.get('环境变量名称')
的方式来获取环境变量的值。
使用环境变量来存储配置信息是一个好的习惯。在云函数中,我们可以使用 Shell-Bash 脚本来读取和设置环境变量,同时在代码中使用 os.environ.get('环境变量名称')
的方式来获取环境变量的值。