将对象放在S3存储桶上时出错

时间:2020-05-18 08:30:50

标签: amazon-web-services amazon-s3 aws-lambda

我正在尝试从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"
  ]
}

1 个答案:

答案 0 :(得分:1)

显示的错误与语法有关。

如果您具有带有签名的函数或方法,例如def foo(bar, foo="something"),则它具有位置参数bar和关键字参数foo。 Python的约定是,在调用此函数时,始终将位置参数放在关键字的前面,因此result = foo(1, foo="text")是正确的,但是result = foo(foo="text", 1)是错误的