AWS s3 上传 api 调用返回 411 状态
AWS s3 upload api call returning 411 status
我一直在尝试执行 AWS s3 rest api 调用以将文档上传到 s3 存储桶。文档是字节数组的形式。
PUT /Test.pdf HTTP/1.1
Host: mybucket.s3.amazonaws.com
Authorization: **********
Content-Type: application/pdf
Content-Length: 5039151
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
x-amz-date: 20180301T055442Z
当我们执行 api 调用时,它给出响应状态 411,即需要长度。我们已经添加了 Content-Length header 字节数组长度作为值。但问题仍然重复。请帮助解决问题。
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
仅与 non-standards-based chunk upload API. This is a custom encoding that allows you to write chunks of data to the wire. This is not the same thing as the Multipart Upload API 一起使用,与 Transfer-Encoding: chunked
不同(S3 不支持上传)。
不清楚为什么这会导致 411 Length Required
,但该错误表明 S3 对上传格式不满意。
对于标准 PUT
上传,x-amz-content-sha256
必须设置为请求正文的 hex-encoded SHA-256 哈希,或字符串 UNSIGNED-PAYLOAD
。建议使用前者,因为它提供完整性检查。如果出于任何原因您的数据在网络上以 TCP 无法检测到的方式损坏,S3 会自动拒绝损坏的上传并且不会创建对象。
另见 https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
我一直在尝试执行 AWS s3 rest api 调用以将文档上传到 s3 存储桶。文档是字节数组的形式。
PUT /Test.pdf HTTP/1.1
Host: mybucket.s3.amazonaws.com
Authorization: **********
Content-Type: application/pdf
Content-Length: 5039151
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
x-amz-date: 20180301T055442Z
当我们执行 api 调用时,它给出响应状态 411,即需要长度。我们已经添加了 Content-Length header 字节数组长度作为值。但问题仍然重复。请帮助解决问题。
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
仅与 non-standards-based chunk upload API. This is a custom encoding that allows you to write chunks of data to the wire. This is not the same thing as the Multipart Upload API 一起使用,与 Transfer-Encoding: chunked
不同(S3 不支持上传)。
不清楚为什么这会导致 411 Length Required
,但该错误表明 S3 对上传格式不满意。
对于标准 PUT
上传,x-amz-content-sha256
必须设置为请求正文的 hex-encoded SHA-256 哈希,或字符串 UNSIGNED-PAYLOAD
。建议使用前者,因为它提供完整性检查。如果出于任何原因您的数据在网络上以 TCP 无法检测到的方式损坏,S3 会自动拒绝损坏的上传并且不会创建对象。
另见 https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html