【发布时间】:2022-11-11 07:59:30
【问题描述】:
我正在尝试从我的 lambda 获取 s3 对象元数据。根据boto3文档,最好的方法是使用.get_object_attributes,但是当我尝试这个时,我得到:'S3'对象没有属性'get_object_attributes':AttributeError。 get_object 调用工作正常。
s3_client = boto3.client('s3')
s3_client.get_object(Bucket=source_bucket_name, Key=file_name)
s3_client.get_object_attributes(Bucket=source_bucket_name, Key=file_name)
【问题讨论】:
-
您可能正在使用 boto3 的后级版本。更新到当前版本。
-
我从 lambda 内部运行
-
使用 Lambda 打包的 boto3 版本比最新的 boto3 包版本落后几个版本。如果最近添加了 get_object_attributes(我相信是这样),那么除了等待之外,您唯一的选择是 package Lambda 层中的最新 boto3 版本。
-
更新到最新版本,还是一样。
-
不,不会一样的。您的代码现在将失败并显示:
Missing required parameter in input: "ObjectAttributes",因为您没有将ObjectAttributes作为调用get_object_attributes()的必需参数包含在内。
标签: amazon-web-services amazon-s3 aws-lambda boto3