我在这里关注自述文件:https ://github.com/awslabs/aws-sam-local
我有一个用 python 3.6 编写的 lambda,它类似于这里的 helloworld 示例:https ://github.com/awslabs/aws-sam-local/tree/develop/samples/hello-world/python
template.yml 看起来像这样:
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: MyFunction1 API
Resources:
MyFunction1:
Type: AWS::Serverless::Function
Properties:
FunctionName: MyFunction1
Handler: lambda_module.lambda_handler
Runtime: python3.6
CodeUri: lambda.zip
MemorySize: 128
Timeout: 10
Policies:
-AWSLamdbaBasicExecutionRole
Events:
BingLambdaEndpoint:
Type: Api
Properties:
Path: MyFunction1/search
Method: get
我在 lambda 中有环境变量,但无法在启动时将它们连接起来。文档说我可以创建一个 environment.json 文件并在调用命令上附加以下内容:使用调用的 --env-vars 参数
我的环境文件与示例类似,但出现错误:
Unable to find environment variable: api_key
environment.json 看起来像这样:
{
"MyFunction1": {
"api_key": "123456789",
"BUCKET_NAME": "testBucket"
}
}
我运行的命令是这样的:
sam local invoke MyFunction1 --env-vars environment_variables.json -e event.json
任何人都可以提供额外的见解吗?