我有一个简单的Lambda函数,它接受存储桶名称作为参数,并在执行该函数时显示存储桶的名称
import boto3
def lambda_handler(event, context):
s3 = boto3.resource('s3')
bucket_name = event['bucket_key']
return bucket_name
如果我传递此事件JSON并执行它
{
"bucket_key": "my_bucket"
}
我会得到my_bucket
作为响应,它运行成功.
现在,我想要做的是将该函数添加到其中一个阶段中,作为我的管线的一个操作(调用Lambda),如下所示
然而,当我运行管道时,该函数将进入循环,如果我查看Cloudwatch,我会看到以下错误消息
[ERROR] KeyError: 'bucket_key'
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 6, in lambda_handler
bucket_name = event['bucket_key']
在调用Lambda时,是否需要在代码行中作为用户参数传递特定的格式?我不明白我传递的是完全相同的JSON事件,但它只在lambda控制台中起作用