如何在 AWSJavaScriptSDK 中以 200 OK 结果捕获失败的 S3 copyObject

fix*_*ark 6 amazon-s3 amazon-web-services aws-sdk-js

文档在AWSJavaScriptSDK的S3.copyObject方法表示如下:

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

但是,没有给出失败可能是什么样子的示例,并且aws-sdk节点库中与 copyObject 相关联的类型(即 CopyObjectResult 和 S3.Types.CopyObjectOutput)表明没有地方可以报告失败的副本一个成功的回应。

有谁知道如何解释这个文档?在向 copyObject 返回 200 OK 时复制操作失败的示例是什么,调用者如何知道?

fix*_*ark 6

SDK 本身将 200 状态 OK 响应处理为特定 API 调用的错误,包括 copyObject。

截至此提交,操作completeMultipartUploadcopyObjectuploadPartCopy标记为能够返回实际上是错误的状态代码 200,并且有一个处理程序可以将这些响应强制转换为错误响应。