我有一个 node.js 应用程序,它会定期将一些数据推送到 Amazon S3。我正在使用 Put 请求将缓冲区推送到 S3。
我知道 S3 请求的“content-md5”参数需要是我正在推送的内容的 base64 编码 Md5 哈希。 让我感到困惑的是,90% 的情况下,我的请求都会成功。 另外 10% 的时间,我的散列方法根本没有改变,亚马逊给了我“badDigest”错误:
{ [Error: API error with HTTP Code: 400]
headers:
{
'content-type': 'application/xml',
'transfer-encoding': 'chunked',
date: 'Fri, 06 Apr 2012 02:20:14 GMT',
connection: 'close',
server: 'AmazonS3' },
code: 400,
document:
{ Code: 'BadDigest',
Message: 'The Content-MD5 you specified did not match what we received.',
ExpectedDigest: 'fPRrmxapcSHmI2gljme1Fg==',
CalculatedDigest: 'w6PoDxh2ty478+Mw2UwTrA==',
RequestId: '1018E7A80A8B0B00',
HostId: 'W/SK/OovQHlsi593DJ154pkHdOrUk3oMWmIGNdOKj3WaHa8cBknhB+7H5IdZLUjt' } }
以前有没有其他人经历过 S3 的这种随机性?我错过了一些明显的东西吗?
谢谢!