小编tho*_*ers的帖子

如何为 copy_object 请求解析 Boto3 200 响应

我是 Python 新手,我正在编写一个 AWS lambda,它将文件从一个存储桶复制到另一个存储桶。我正在使用 Boto3 库并在文档中遇到以下内容:

当 Amazon S3 收到复制请求或 Amazon S3 复制文件时,复制请求可能会返回错误。如果错误发生在复制操作开始之前,您会收到标准 Amazon S3 错误。如果在复制操作过程中发生错误,错误响应将嵌入到 200 OK 响应中。这意味着 200 OK 响应可以包含成功或错误。设计您的应用程序以解析响应的内容并适当地处理它。如果复制成功,您会收到包含有关复制对象信息的响应。

成功的响应如下所示(潜在的敏感数据替换为“...”):

Response : {'ResponseMetadata': {'RequestId': 'ID....', 'HostId': 'ID...', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amz-id-2': '...', 'x-amz-request-id': '...', 'date': 'Wed,
            10 Feb 2021 21: 48: 48 GMT', 'content-type': 'application/xml', 'content-length': '234', 'server': 'AmazonS3'
        }, 'RetryAttempts': 0
    }, 'CopyObjectResult': {'ETag': '"..."', 'LastModified': datetime.datetime(2021,
        2,
        10,
        21,
        48,
        48, tzinfo=tzlocal())
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何解析 200 响应以检查错误。文档说,如果复制成功,那么您将收到有关复制对象信息的响应。我猜这是 CopyObjectResult 部分?

我正在访问响应:

   response = s3_client.copy_object(CopySource=copy_source_object, Bucket=destination_bucket_name, …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services boto3 aws-lambda

3
推荐指数
1
解决办法
360
查看次数