标签: amazon-web-services amazon-s3
我使用s3api put-object上传了一个带有aws cli的文件,响应如下:
{ "ETag": "\"7bd173e5150f57f8ffe94ad61cd5ea9d\"" }
当我使用md5在本地计算哈希值时,我得到了:
173e5150f57f8ffe94ad61cd5ea9d
为什么ETag的前面有3个额外的字符?这是一个小文件(8KB),所以它是单部分上传的。
答案 0 :(得分:1)
它实际上并没有2个额外的字符。这里发生了两件事。
ETag是required,要用"引起来,所以对象的ETag是"7bd173e5150f57f8ffe94ad61cd5ea9d" -引号是ETag的一部分。
"
"7bd173e5150f57f8ffe94ad61cd5ea9d"
并且此输出为JSON,其中要求将字符串包装在"中...因此,字符串中的"字符必须以反斜杠进行转义,例如以JSON表示的5个字符的字符串"foo"(其中引号字符是字符串本身的一部分,而不是简单地将字符串括起来),表示为"\"foo\""。
"foo"
"\"foo\""