我正在尝试从DynamoDB表中获取温度值,并计算该值的平均值,然后将平均值发送到S3存储桶。我计算了平均值,但是将其放入s3存储桶时出现错误:
响应:
{
"errorMessage": "Syntax error in module 'lambda_function': positional argument follows keyword argument (lambda_function.py, line 45)",
"errorType": "Runtime.UserCodeSyntaxError",
"stackTrace": [
" File \"/var/task/lambda_function.py\" Line 45\n s3.put_object(Bucket='mys3pooja', Key='time', Body=val)\n"
]
}
答案 0 :(得分:1)
显示的错误与语法有关。
如果您具有带有签名的函数或方法,例如def foo(bar, foo="something")
,则它具有位置参数bar
和关键字参数foo
。 Python的约定是,在调用此函数时,始终将位置参数放在关键字的前面,因此result = foo(1, foo="text")
是正确的,但是result = foo(foo="text", 1)
是错误的