Lambda 事件 returns 空对象
Lambda event returns empty object
我需要访问 event["pathParameters"]
但事件 returns 是一个空对象。我用 AWS Cloud9 IDE 创建了函数。
这是我的简单函数:
def handler(event, context):
return {
'statusCode': 200,
'body': json.dumps(event),
'headers': {
'Content-Type': 'application/json'
}
}
event
由您调用 lambda 的负载设置。
当您使用 API 网关时,该有效负载包含密钥 pathParameters
,但是当您使用 lambda 控制台进行测试时,您需要自己构建 JSON。控制台在其模板部分包含一个 API 网关代理事件示例。
有关更完整的参考,请参阅:https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-api-gateway-request
如果从 command-line 调用您的 Lambda 函数,event
为空的另一个原因可能是 AWS CLI v1 和 v2 之间的变化。比较:
在 AWS CLI v1 中您可以做什么:
invoke
aws lambda invoke \
--function-name LambdaPhono \
--invocation-type Event \
--payload file://inputFile.txt \
outputfile.txt
在 AWS CLI v2 中,您需要执行以下操作:
invoke
aws lambda invoke \
--function-name LambdaPhono \
--cli-binary-format raw-in-base64-out \
--invocation-type Event \
--payload file://inputFile.txt \
outputfile.txt
注意 v2 中的新 --cli-binary-format raw-in-base64-out
选项。
此处记录:https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html#cliv2-migration-binaryparam
我需要访问 event["pathParameters"]
但事件 returns 是一个空对象。我用 AWS Cloud9 IDE 创建了函数。
这是我的简单函数:
def handler(event, context):
return {
'statusCode': 200,
'body': json.dumps(event),
'headers': {
'Content-Type': 'application/json'
}
}
event
由您调用 lambda 的负载设置。
当您使用 API 网关时,该有效负载包含密钥 pathParameters
,但是当您使用 lambda 控制台进行测试时,您需要自己构建 JSON。控制台在其模板部分包含一个 API 网关代理事件示例。
有关更完整的参考,请参阅:https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-api-gateway-request
如果从 command-line 调用您的 Lambda 函数,event
为空的另一个原因可能是 AWS CLI v1 和 v2 之间的变化。比较:
在 AWS CLI v1 中您可以做什么:
invoke
aws lambda invoke \
--function-name LambdaPhono \
--invocation-type Event \
--payload file://inputFile.txt \
outputfile.txt
在 AWS CLI v2 中,您需要执行以下操作:
invoke
aws lambda invoke \
--function-name LambdaPhono \
--cli-binary-format raw-in-base64-out \
--invocation-type Event \
--payload file://inputFile.txt \
outputfile.txt
注意 v2 中的新 --cli-binary-format raw-in-base64-out
选项。
此处记录:https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html#cliv2-migration-binaryparam