AWS SAM - 如何将参数传递给 Lambda 函数
AWS SAM - How to pass parameters to Lambda Function
我正在尝试在执行 sam deploy
时传递参数值。例如:
sam package \
--template-file lambda.yaml \
--s3-bucket myexamplebucket \
--output-template-file packaged.yaml
sam deploy --template-file ./packaged.yaml \
--stack-name stack-test-lambda \
--parameter-overrides ${lambda_param} \
--no-fail-on-empty-changeset
但是,我得到:An error occurred (ValidationError) when calling the CreateChangeSet operation: Parameters: [LambdaRoleARN] must have values.
lambda_param
包含:"LambdaRoleARN"="arn:aws:iam::111111111111:role/my-lambda-role"
我需要以不同的方式传递参数吗?当前代码 Uri 仅指向 'lambda_example.py' 文件。
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Parameters:
LambdaRoleARN:
Type: String
Resources:
LambdaS3EventResponse:
Type: AWS::Serverless::Function
Properties:
FunctionName: lambda-s3-event-response
Role: !Ref LambdaRoleARN
Handler: lambda_example.lambda_handler
Runtime: python3.7
MemorySize: 128
Timeout: 300
CodeUri: ../../lambda/src/helpers
我知道了。 "
未在 Bash 脚本中正确传递。通过将命令传递到数组并执行如下确保 "
已正确传递。
array=(
sam deploy --template-file ./packaged.yaml \
--stack-name stack-test-lambda \
--parameter-overrides ${lambda_param} \
--no-fail-on-empty-changeset
)
eval $(echo ${array[@]})
我正在尝试在执行 sam deploy
时传递参数值。例如:
sam package \
--template-file lambda.yaml \
--s3-bucket myexamplebucket \
--output-template-file packaged.yaml
sam deploy --template-file ./packaged.yaml \
--stack-name stack-test-lambda \
--parameter-overrides ${lambda_param} \
--no-fail-on-empty-changeset
但是,我得到:An error occurred (ValidationError) when calling the CreateChangeSet operation: Parameters: [LambdaRoleARN] must have values.
lambda_param
包含:"LambdaRoleARN"="arn:aws:iam::111111111111:role/my-lambda-role"
我需要以不同的方式传递参数吗?当前代码 Uri 仅指向 'lambda_example.py' 文件。
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Parameters:
LambdaRoleARN:
Type: String
Resources:
LambdaS3EventResponse:
Type: AWS::Serverless::Function
Properties:
FunctionName: lambda-s3-event-response
Role: !Ref LambdaRoleARN
Handler: lambda_example.lambda_handler
Runtime: python3.7
MemorySize: 128
Timeout: 300
CodeUri: ../../lambda/src/helpers
我知道了。 "
未在 Bash 脚本中正确传递。通过将命令传递到数组并执行如下确保 "
已正确传递。
array=(
sam deploy --template-file ./packaged.yaml \
--stack-name stack-test-lambda \
--parameter-overrides ${lambda_param} \
--no-fail-on-empty-changeset
)
eval $(echo ${array[@]})