在AWS Lambda中,我正在使用boto3将一个字符串放入S3文件中:
我被告知如下内容:
同样的情况也发生在
我做错了什么?
相反地,读取工作正常(使用
import boto3
s3 = boto3.client('s3')
data = s3.get_object(Bucket=XXX, Key=YYY)
data.put('Body', 'hello')
我被告知如下内容:
[ERROR] AttributeError: 'dict' object has no attribute 'put'
同样的情况也发生在
data.put('hello')
这个方法上,这是顶级答案建议的方法,来源于如何使用boto3将文件或数据写入S3对象,以及data.put_object
: 'dict' object has no attribute 'put_object'
。我做错了什么?
相反地,读取工作正常(使用
data.get('Body').read().decode('utf-8')
)。
put_object()
上传它。这样,您可以将“文件创建”与“文件上传”分开,使调试更加容易。 - John Rotenstein