当前位置: 首页 > 知识库问答 >
问题:

为什么S3 ETag有额外的字符?

周云
2023-03-14

我使用s3api put-object通过aws cli上传了一个文件,响应如下:

{
    "ETag": "\"7bd173e5150f57f8ffe94ad61cd5ea9d\""
}

当我使用 md5 在本地计算哈希时,我得到这个:

173e5150f57f8ffe94ad61cd5ea9d

为什么ETag在前面有3个额外的字符?这是一个小文件(8KB ),所以它是一个单独的上传部分。

共有1个答案

公良泰宁
2023-03-14

它实际上并没有2个额外的字符。这里发生了两件事。

ETag 需要括在号中,因此对象的 ETag 是 “7bd173e5150f57f8ffe94ad61cd5ea9d” -- 引号是 ETag 的一部分。

并且,此输出是JSON,其中字符串需要包装在"…中,因此字符串中的"字符必须用反斜杠转义-例如5个字符的字符串"foo"(所示的引号字符是字符串本身的一部分,而不是简单地将字符串括起来),在JSON中,表示为"\"foo\""

 类似资料:
  • 问题内容: path = “/Volumes/Users” >>> path.lstrip(‘/Volume’) ‘s/Users’ >>> path.lstrip(‘/Volumes’) ‘Users’ >>> 我期望的输出是 问题答案: 是基于字符的,它将删除该字符串中左端的所有字符。 要验证这一点,请尝试以下操作: 由于是字符串的一部分,因此将其删除。 您需要改用切片: 或者,在Python

  • 我想删除至少有一个“NaN”的所有行。数据框如下图所示,但实际的数据框大约有1000004行。 完整的CSV文件:文件 我写的代码如下: 我预计至少有300000行,但我只有大约200000行。当我签入实际的CSV文件时,第一个NaN至少在第380000行之前不会出现。那么,为什么删除多余的行?

  • 我拿起一些iOS编程,并试图把UITableView到一个故事板。不幸的是,我试图把内容放在视图的顶部,但它放了一些空间。我试图调整检视器中的值 我已经使背景绿色,并把边框颜色显示的问题。我不是一个老练的iOS开发人员,所以我认为这是最简单的解决方案,而不是复杂的东西。如何使表格视图的内容与顶部齐平?我已经看到了这个为什么在我的UITableView顶部有额外的填充样式UITableViewSty

  • 这里是一个新的Python编码器,有相当多的C#经验。我试图用Python来完成这个练习: 国际象棋字典验证器在本章中,我们使用字典值{'1h':'bking','6c':'wqueen','2g':'bbishop','5h':'bqueen','3e':'wking'}来表示国际象棋棋盘。编写一个名为isValidChessBoard()的函数,它接受一个字典参数,并根据板是否有效返回True

  • 问题内容: 我正在使用格式解析来自用户输入的日期字符串,并且发现也可以删除它。怎么会这样 这是我的代码: 但也不例外,将String值解析为Date。为什么? 问题答案: 根据该方法的Javadoc: 从给定字符串 的开头 解析文本以产生日期。 该方法可能不会使用给定字符串的整个文本。 (重点是我的)。 与上述注释的含义相反,这与宽大的解析无关。相反,只是此方法不打算使用整个字符串。如果您想验证它

  • 问题内容: 当我尝试在套接字上使用sax解析xml时,遇到了一种奇怪的情况。经过分析,我注意到DataOutputStream在我的数据前面添加了2个字节。 DataOutputStream发送的消息: 使用Transformer发送消息: 可能已经注意到,DataOutputStream在消息前面添加了两个字节。因此,sax解析器将引发异常“ org.xml.sax.SAXParseExcept

  • 从iOS 9.3.2开始,顶部和底部都有额外的空间。 下面是一些例子: 大约有20个像素无法解释的填充。谁能解释一下它们是从哪里来的? 这对我不管用。

  • 问题内容: 我有一个带有某些样式的简单html页面,但我不明白为什么会增加一些顶部边距? 来源如下: 如果我添加“ margin-top:0;” 到了空间已经消失了……但是直到我明白为什么我才感到不高兴。 问题答案: 上的空白来自浏览器添加到元素的默认样式。例如,如果您打开的并检查元素,您将看到这样的样式。该用户代理样式表是指浏览器默认样式。保证金变成16px为浏览器有一个默认。 由于浏览器之间的