在AWS SAM(Serverless Application Model)中,可以使用环境变量来传递配置信息给函数。以下是一个包含代码示例的解决方法:
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: my-function
Handler: app.lambda_handler
Runtime: python3.8
Environment:
Variables:
ENV_VAR_1: value1
ENV_VAR_2: value2
在这个示例中,MyFunction是一个AWS Lambda函数,通过Environment属性来定义函数的环境变量。可以在Variables中指定一组键值对,其中键是环境变量的名称,值是环境变量的值。
import os
def lambda_handler(event, context):
var1 = os.environ['ENV_VAR_1']
var2 = os.environ['ENV_VAR_2']
# 使用环境变量进行逻辑处理
# ...
return {
'statusCode': 200,
'body': 'Success'
}
在Lambda函数的代码中,可以使用os.environ来读取环境变量的值。通过指定环境变量的名称作为键来访问对应的值。
请注意,当在本地运行SAM应用程序时,环境变量可能不会自动提供。可以通过在命令行中使用--env-vars参数来手动提供环境变量,例如:
sam local invoke MyFunction --env-vars env.json
其中,env.json是一个包含环境变量键值对的JSON文件。
以上就是使用AWS SAM定义和读取环境变量的解决方法。