Java SDK 是否提供 AWS 错误代码?

Are AWS Error Codes available from the Java SDK?

我们的一位生产客户刚刚将文件上传到 S3 时遇到问题。当错误被打印到日志中时,我们收到了一条无法描述的错误消息:

com.amazonaws.services.s3.model.AmazonS3Exception: BadRequest(Service: AmazonS3;StatusCode: 400;ErrorCode:400BadRequest;RequestID: XXXXXXXXXXXXXXXX) 

400 Bad Request 映射到大量错误:

http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html

单独调试这个错误是不可能的。我的问题是,发生错误时如何从 Java SDK 获取错误代码(如上面 html 页面中所列)?是否有通用的方法获取描述性错误代码,不仅针对 S3,而且针对所有 AWS Java SDK 错误?

您应该能够访问完整的 XML 响应,S3 在 AmazonS3Exception 上使用 getErrorResponseXml 发送回 Java SDK。