gpt4 book ai didi

amazon-web-services - 使用 Java 将空文件上传到 S3

转载 作者:行者123 更新时间:2023-12-04 14:23:46 25 4
gpt4 key购买 nike

当我尝试将空数据流式传输到 S3 时出错。
下面是错误:

java.lang.RuntimeException:
java.lang.RuntimeException:
java.lang.RuntimeException:
shaded.com.amazonaws.services.s3.model.AmazonS3Exception:
The XML you provided was not well-formed or did not validate against our published schema (Service: Amazon S3; Status Code: 400; Error Code: MalformedXML; Request ID: BC194D061F65DC3B), S3 Extended Request ID: RjC6LY05Gj93iQTWAdjL/JcQBrl/NzMt749DOwpVsTJ2YN63A0EQmFWaBXxwHzBo+/a8A3MoP70=



有没有办法通过 Java SDK 输出流在 S3 中创建一个空文件?

最佳答案

绝对地!假设您正在执行多部分(根据最佳实践),您需要为零字节文件创建一个特殊情况:

AmazonS3 s3Client = /* your S3 client builder technique */
if ( contentLength == 0 ) {
s3Client.putObject( bucketName, targetKeyName,
new FileInputStream( file ), objectMetadata );
} else {
// Do your multipart upload per usual
}

当请求零个部分时,分段上传会引发 MalformedXML 异常,但它不会在消息中明确指出这一点。您的请求的另一部分也可能格式错误,例如 ObjectMetadata 已损坏,但通常在这些情况下您会得到更清晰的异常消息。

关于amazon-web-services - 使用 Java 将空文件上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50258761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com