欢迎来到雲闪世界。AWS CLI 版本 2 是 AWS CLI 的最新主要版本,现已稳定并推荐用于一般用途。要查看 AWS CLI 版本 2 的此页面,请单击 此处。有关更多信息,请参阅 AWS CLI 版本 2 安装说明 和 迁移指南。
[ AWS . S3API ]aws Head-object
此HEAD
操作从对象中检索元数据,但不返回对象本身。如果您只对对象的元数据感兴趣,此操作非常有用。
请求具有与对象操作HEAD
相同的选项。响应与响应相同,只是没有响应主体。因此,如果请求生成错误,它将返回通用代码,例如、、、、或。无法检索这些错误代码的确切异常。GETGETHEAD400 Bad Request403 Forbidden404 Not Found405 Method Not Allowed412 Precondition Failed304 Not Modified
请求标头的大小限制为 8 KB。请参阅常见请求标头
笔记
目录存储桶 - 对于目录存储桶,您必须向区域终端节点发出此 API 操作的请求。这些终端节点支持格式为 `` https:// bucket_name .s3express- az_id .*region* .amazonaws.com/ key-name `` 的虚拟托管式请求。不支持路径式请求。有关更多信息,请参阅Amazon S3 用户指南 中的 区域和区域终端节点 。
权限
- 通用存储桶权限- 要使用
HEAD
,您必须具有权限s3:GetObject
。您需要此操作的相关读取对象(或版本)权限。有关更多信息,请参阅Amazon S3 用户指南中的Amazon S3 的操作、资源和条件键。如果您请求的对象不存在,Amazon S3 返回的错误取决于您是否也具有权限。s3:ListBucket
- 如果您
s3:ListBucket
对该存储桶有权限,Amazon S3 将返回 HTTP 状态代码错误。404 Not Found
- 如果您没有该
s3:ListBucket
权限,Amazon S3 将返回 HTTP 状态代码错误。403 Forbidden
- 目录存储桶权限- 要授予对目录存储桶的此 API 操作的访问权限,我们建议您使用 `
CreateSession
CreateSession - Amazon Simple Storage Service .html`__ API 操作进行基于会话的授权。具体来说,您s3express:CreateSession
在存储桶策略或基于 IAM 身份的策略中授予对目录存储桶的权限。然后,您CreateSession
在存储桶上进行 API 调用以获取会话令牌。使用请求标头中的会话令牌,您可以对此操作发出 API 请求。会话令牌过期后,您进行另一个CreateSession
API 调用以生成新的会话令牌以供使用。Amazon Web Services CLI 或 SDK 会自动创建会话并刷新会话令牌,以避免会话过期时服务中断。有关授权的更多信息,请参阅 `CreateSession
CreateSession - Amazon Simple Storage Service .html`__ 。 - 加密
笔记
如果您的对象使用带有密钥管理服务 (KMS) 密钥 (SSE-KMS)的服务器端加密、带有 Amazon Web Services KMS 密钥 (DSSE-KMS)x-amz-server-side-encryption
的HEAD
双层服务器端加密或带有 Amazon S3 托管加密密钥 (SSE-S3) 的服务器端加密,则不应为请求发送加密请求标头(例如)。x-amz-server-side-encryption
当您将对象发送到 S3 并想要指定加密方法时,将使用此标头。如果您在使用这些类型的密钥的对象的请求PUT
中包含此标头,您将收到 HTTP错误。这是因为检索对象时无法更改加密方法。HEAD400 Bad Request
如果您在将对象存储在 Amazon S3 中时使用带有客户提供的加密密钥 (SSE-C) 的服务器端加密来加密对象,则在从对象中检索元数据时,您必须使用以下标头来提供加密密钥,以便服务器能够检索对象的元数据。标头如下:
x-amz-server-side-encryption-customer-algorithm
x-amz-server-side-encryption-customer-key
x-amz-server-side-encryption-customer-key-MD5
有关 SSE-C 的更多信息,请参阅Amazon S3 用户指南中的服务器端加密(使用客户提供的加密密钥)。
笔记
目录存储桶权限
AES256
- 对于目录存储桶,仅支持使用 Amazon S3 托管密钥 (SSE-S3) ( ) 进行服务器端加密。
版本控制
- 如果对象的当前版本是删除标记,Amazon S3 的行为就像对象已被删除一样,并包含在响应中。
x-amz-delete-marker: true
- 如果指定的版本是删除标记,则响应返回错误和响应头。
405 Method Not AllowedLast-Modified: timestamp
笔记
目录存储桶- 目录存储桶不支持删除标记。
- 目录存储桶- 目录存储桶未启用且不支持 S3 版本控制。对于此 API 操作,
null
目录存储桶仅支持版本 ID 的值。您只能在请求中指定查询参数null
。versionId
HTTP Host 标头语法
目录存储桶- HTTP 主机标头语法是“ Bucket_name .s3express- az_id .*region* .amazonaws.com”。
以下行动与以下内容相关HeadObject
:
另请参阅:AWS API 文档
摘要¶
head - object -- bucket <值> [ -- if - match <值> ] [ -- if - modified - since <值> ] [ -- if - none - match <值> ] [ -- if - unmodified - since <值> ] -- key <值> [ -- range <值> ] [ -- response - cache - control <值> ] [ -- response - content - disposition <值> ] [ -- response - content - encoding <值> ] [ -- response - content - language <值> ] [ -- response - content - type <值> ] [ -- response - expires <值> ] [ -- version - id <值> ] [ -- sse - customer - algorithm <值> ] [ -- sse - customer - key <值> ] [ -- sse - customer - key - md5 <值> ] [ -- request - payer <值> ] [ -- part - number <值> ] [ --预期-存储桶-所有者 <值> ] [ --校验和 -模式 <值> ] [ -- cli -输入- json <值> ] [ --生成- cli -骨架 <值> ] [ --调试] [ --端点- url <值> ] [ -- no -验证- ssl ] [ -- no -分页] [ --输出 <值> ] [ --查询 <值> ] [ --配置文件 <值> ] [ --区域 <值> ] [ --版本 <值> ] [ --颜色 <值> ] [ -- no -签名-请求] [ -- ca -捆绑 <值> ] [ -- cli -读取-超时 <值> ] [ -- cli -连接-超时 <值> ]
选项¶
--bucket
(细绳)
包含该对象的存储桶的名称。
目录存储桶 - 将此操作与目录存储桶一起使用时,必须使用格式为 `` Bucket_name .s3express- az_id .*region* .amazonaws.com`` 的虚拟托管样式请求。不支持路径样式请求。目录存储桶名称在所选可用区中必须是唯一的。存储桶名称必须遵循格式 `` bucket_base_name — az-id — x-s3`` (例如,`` DOC-EXAMPLE-BUCKET — usw2-az1 — x-s3`` )。有关存储桶命名限制的信息,请参阅Amazon S3 用户指南 中的 目录存储桶命名规则 。
接入点 - 将此操作与接入点结合使用时,您必须提供接入点的别名来代替存储桶名称或指定接入点 ARN。使用接入点 ARN 时,您必须将请求定向到接入点主机名。接入点主机名采用以下格式:AccessPointName — AccountId .s3-accesspoint.*Region* .amazonaws.com。通过 Amazon Web Services SDKs 将此操作与接入点结合使用时,您必须提供接入点 ARN 来代替存储桶名称。有关接入点 ARN 的更多信息,请参阅Amazon S3 用户指南 中的 使用接入点 。
笔记
目录存储桶不支持访问点和对象 Lambda 访问点。
S3 on Outposts — 将此操作与 Amazon S3 on Outposts 结合使用时,您必须将请求定向到 S3 on Outposts 主机名。S3 on Outposts 主机名采用 `` AccessPointName — AccountId .*outpostID* .s3-outposts.*Region* .amazonaws.com`` 格式。当您通过 Amazon Web Services SDK 将此操作与 S3 on Outposts 结合使用时,您需要提供 Outposts 接入点 ARN 来代替存储桶名称。有关 S3 on Outposts ARN 的更多信息,请参阅Amazon S3 用户指南 中的 什么是 S3 on Outposts ?。
--if-match
(细绳)
仅当对象的实体标签 (ETag) 与指定的标签相同时才返回该对象;否则返回 412(先决条件失败)错误。
如果请求中同时存在If-Match
和标头,如下所示:If-Unmodified-Since
If-Match
条件计算为true
,且;If-Unmodified-Since
条件计算为false
;
然后 Amazon S3 返回请求的数据。
200 OK
有关条件请求的更多信息,请参阅 RFC 7232 。
--if-modified-since
(时间戳)
仅当对象自指定时间以来已被修改时才返回该对象;否则返回 304(未修改)错误。
如果请求中同时存在If-None-Match
和标头,如下所示:If-Modified-Since
If-None-Match
条件计算为false
,且;If-Modified-Since
条件计算为true
;
然后 Amazon S3 返回响应代码。
304 Not Modified
有关条件请求的更多信息,请参阅 RFC 7232 。
--if-none-match
(细绳)
仅当实体标签 (ETag) 与指定的不同时才返回对象;否则返回 304(未修改)错误。
如果请求中同时存在If-None-Match
和标头,如下所示:If-Modified-Since
If-None-Match
条件计算为false
,且;If-Modified-Since
条件计算为true
;
然后 Amazon S3 返回响应代码。
304 Not Modified
有关条件请求的更多信息,请参阅 RFC 7232 。
--if-unmodified-since
(时间戳)
仅当对象自指定时间以来未被修改时才返回该对象;否则返回 412(先决条件失败)错误。
如果请求中同时存在If-Match
和标头,如下所示:If-Unmodified-Since
If-Match
条件计算为true
,且;If-Unmodified-Since
条件计算为false
;
然后 Amazon S3 返回请求的数据。
200 OK
有关条件请求的更多信息,请参阅 RFC 7232 。
--key
(细绳)
对象键。
--range
(细绳)
HeadObject 仅返回对象的元数据。如果 Range 可满足,则ContentLength
响应中仅受影响。如果 Range 不可满足,S3 将返回错误。416 - Requested Range Not Satisfiable
--response-cache-control
(细绳)
设置
Cache-Control
响应的标头。
--response-content-disposition
(细绳)
设置
Content-Disposition
响应的标头。
--response-content-encoding
(细绳)
设置
Content-Encoding
响应的标头。
--response-content-language
(细绳)
设置
Content-Language
响应的标头。
--response-content-type
(细绳)
设置
Content-Type
响应的标头。
--response-expires
(时间戳)
设置
Expires
响应的标头。
--version-id
(细绳)
用于引用对象特定版本的版本 ID。
笔记
对于此 API 操作中的目录存储桶,仅
null
支持版本 ID 的值。
--sse-customer-algorithm
(细绳)
指定加密对象时使用的算法(例如,AES256)。
笔记
目录存储桶不支持此功能。
--sse-customer-key
(细绳)
指定 Amazon S3 用于加密数据的客户提供的加密密钥。此值用于存储对象,然后丢弃;Amazon S3 不存储加密密钥。密钥必须适合与标头中指定的算法一起使用
x-amz-server-side-encryption-customer-algorithm
。
笔记
目录存储桶不支持此功能。
--sse-customer-key-md5
(细绳)
根据 RFC 1321 指定加密密钥的 128 位 MD5 摘要。Amazon S3 使用此标头进行消息完整性检查,以确保加密密钥传输无误。
笔记
目录存储桶不支持此功能。
--request-payer
(细绳)
确认请求者知道他们将为请求付费。存储桶拥有者无需在其请求中指定此参数。如果源或目标 S3 存储桶启用了请求者付款,则请求者将支付相应的费用以复制对象。有关从请求者付款存储桶下载对象的信息,请参阅Amazon S3 用户指南 中 的在请求者付款存储桶中下载对象 。
笔记
目录存储桶不支持此功能。
可能的值:
requester
--part-number
(整数)
正在读取的对象的部件编号。这是一个介于 1 和 10,000 之间的正整数。有效地对指定的部件执行“范围”HEAD 请求。查询部件的大小以及此对象中的部件数量很有用。
--expected-bucket-owner
(细绳)
预期存储桶拥有者的账户 ID。如果您提供的账户 ID 与存储桶的实际拥有者不匹配,则请求会失败并显示 HTTP 状态代码(拒绝访问)。
403 Forbidden
--checksum-mode
(细绳)
要检索校验和,必须启用此参数。
此外,如果您启用ChecksumMode
并且对象使用 Amazon Web Services 密钥管理服务 (Amazon Web Services KMS) 加密,则您必须有权使用该kms:Decrypt
操作才能使请求成功。
可能的值:
ENABLED
--cli-input-json
(字符串)根据提供的 JSON 字符串执行服务操作。JSON 字符串遵循 提供的格式--generate-cli-skeleton
。如果在命令行上提供了其他参数,CLI 值将覆盖 JSON 提供的值。无法使用 JSON 提供的值传递任意二进制值,因为字符串将被按字面意思理解。
--generate-cli-skeleton
(字符串)无需发送 API 请求即可将 JSON 框架打印到标准输出。如果不提供值或提供值input
,则打印可用作 参数的示例输入 JSON --cli-input-json
。如果提供了值output
,它会验证命令输入并返回该命令的示例输出 JSON。
全局选项¶
--debug
(布尔值)
打开调试日志。
--endpoint-url
(细绳)
使用给定的 URL 覆盖命令的默认 URL。
--no-verify-ssl
(布尔值)
默认情况下,AWS CLI 在与 AWS 服务通信时使用 SSL。对于每个 SSL 连接,AWS CLI 将验证 SSL 证书。此选项将覆盖验证 SSL 证书的默认行为。
--no-paginate
(布尔值)
禁用自动分页。
--output
(细绳)
命令输出的格式样式。
- json
- 文本
- 桌子
--query
(细绳)
用于过滤响应数据的 JMESPath 查询。
--profile
(细绳)
使用您的凭证文件中的特定配置文件。
--region
(细绳)
要使用的区域。覆盖配置/环境设置。
--version
(细绳)
显示该工具的版本。
--color
(细绳)
打开/关闭颜色输出。
- 在
- 离开
- 汽车
--no-sign-request
(布尔值)
不签署请求。如果提供了此参数,则不会加载凭据。
--ca-bundle
(细绳)
验证 SSL 证书时使用的 CA 证书包。覆盖 config/env 设置。
--cli-read-timeout
(整数)
最大套接字读取时间(以秒为单位)。如果将该值设置为 0,则套接字读取将阻塞且不会超时。默认值为 60 秒。
--cli-connect-timeout
(整数)
最大套接字连接时间(以秒为单位)。如果该值设置为 0,套接字连接将阻塞且不会超时。默认值为 60 秒。
例子¶
笔记
要使用以下示例,您必须安装并配置 AWS CLI。有关更多信息,请参阅AWS CLI 用户指南中的入门指南。
除非另有说明,所有示例都具有类似 unix 的引号规则。这些示例需要适应您的终端的引号规则。请参阅AWS CLI 用户指南中的将引号与字符串一起使用。
以下命令检索名为 的存储桶中对象的元数据my-bucket
:
aws s3api 头-对象 --存储桶 我的-存储桶 --键 索引.html
输出:
{ “AcceptRanges” : “bytes” , “ContentType” : “text/html” , “LastModified” : “2015 年 4 月 16 日星期四 18:19:14 GMT” , “ContentLength” : 77 , “VersionId” : “null” , “ETag” : “ \” 30a6ec7e1a9ad79c203d05a589c8b400 \“ ” , “元数据” : {} }
输出¶
删除标记 -> (布尔值)
指定检索到的对象是否为删除标记 (true) 或不是 (false)。如果为 false,则此响应标头不会出现在响应中。
笔记
目录存储桶不支持此功能。
接受范围 -> (字符串)
表示指定了字节范围。
到期时间 -> (字符串)
如果配置了对象过期时间(请参阅 `PutBucketLifecycleConfiguration
PutBucketLifecycleConfiguration - Amazon Simple Storage Service .html`__ ),则响应将包含此标头。它包括提供对象过期信息的expiry-date
和rule-id
键值对。 的值rule-id
是 URL 编码的。
笔记
目录存储桶不支持此功能。
恢复 -> (字符串)
如果对象是已存档对象(存储类为 GLACIER 的对象),则如果存档恢复正在进行中(请参阅 RestoreObject 或存档副本已恢复),则响应将包含此标头。
如果已还原档案副本,则标头值指示 Amazon S3 计划何时删除对象副本。例如:
x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"
如果对象恢复正在进行中,则标头返回值
ongoing-request="true"
。
有关存档对象的更多信息,请参阅 转换对象:一般注意事项 。
笔记
目录存储桶不支持此功能。目录存储桶仅支持使用 S3 Express One Zone 存储类来存储对象。
存档状态 -> (字符串)
头对象的存档状态。
笔记
目录存储桶不支持此功能。
最后修改时间 -> (时间戳)
对象上次修改的日期和时间。
内容长度 -> (长)
主体的大小(以字节为单位)。
校验和CRC32->(字符串)
对象的 base64 编码的 32 位 CRC32 校验和。仅当与对象一起上传时才会出现。当您对使用分段上传上传的对象使用 API 操作时,此值可能不是完整对象的直接校验和值。相反,它是基于每个单独部分的校验和值的计算。有关如何使用分段上传计算校验和的更多信息,请参阅Amazon S3 用户指南 中的 检查对象完整性 。
校验和CRC32C->(字符串)
对象的 base64 编码的 32 位 CRC32C 校验和。仅当与对象一起上传时才会出现。当您对使用分段上传上传的对象使用 API 操作时,此值可能不是完整对象的直接校验和值。相反,它是基于每个单独部分的校验和值的计算。有关如何使用分段上传计算校验和的更多信息,请参阅Amazon S3 用户指南 中的 检查对象完整性 。
ChecksumSHA1->(字符串)
对象的 base64 编码、160 位 SHA-1 摘要。仅当与对象一起上传时才会出现。当您对使用分段上传上传的对象使用 API 操作时,此值可能不是完整对象的直接校验和值。相反,它是基于每个单独部分的校验和值的计算。有关如何使用分段上传计算校验和的更多信息,请参阅Amazon S3 用户指南 中的 检查对象完整性 。
校验和SHA256->(字符串)
对象的 base64 编码、256 位 SHA-256 摘要。仅当与对象一起上传时才会出现。当您对使用分段上传上传的对象使用 API 操作时,此值可能不是完整对象的直接校验和值。相反,它是基于每个单独部分的校验和值的计算。有关如何使用分段上传计算校验和的更多信息,请参阅Amazon S3 用户指南 中的 检查对象完整性 。
ETag -> (字符串)
实体标签 (ETag) 是由 Web 服务器分配给在 URL 上找到的资源的特定版本的不透明标识符。
MissingMeta -> (整数)
设置为未在
x-amz-meta
标头中返回的元数据条目数。如果您使用 SOAP 等 API 创建元数据,而该 API 支持比 REST API 更灵活的元数据,则可能会发生这种情况。例如,使用 SOAP,您可以创建其值不是合法 HTTP 标头的元数据。
笔记
目录存储桶不支持此功能。
版本ID -> (字符串)
对象的版本ID。
笔记
目录存储桶不支持此功能。
CacheControl -> (字符串)
指定沿请求/答复链的缓存行为。
内容处置 -> (字符串)
指定对象的表示信息。
内容编码 -> (字符串)
指示已对对象应用了哪些内容编码,以及因此必须应用哪些解码机制才能获得 Content-Type 标头字段引用的媒体类型。
内容语言 -> (字符串)
内容所用的语言。
内容类型 -> (字符串)
描述对象数据格式的标准 MIME 类型。
过期 -> (时间戳)
对象不再可缓存的日期和时间。
WebsiteRedirectLocation -> (字符串)
如果存储桶配置为网站,则将此对象的请求重定向到同一存储桶中的另一个对象或外部 URL。Amazon S3 将此标头的值存储在对象元数据中。
笔记
目录存储桶不支持此功能。
服务器端加密 -> (字符串)
将此对象存储在 Amazon S3中时使用的服务器端加密算法(例如,、、AES256
)。aws:kmsaws:kms:dsse
笔记
AES256
对于目录存储桶,仅支持使用 Amazon S3 托管密钥 (SSE-S3) ( ) 进行服务器端加密。
元数据 -> (地图)
与 S3 中的对象一起存储的元数据的映射。
键 -> (字符串)
值 -> (字符串)
SSECustomerAlgorithm -> (字符串)
如果请求使用客户提供的加密密钥进行服务器端加密,则响应将包含此标头以确认所使用的加密算法。
笔记
目录存储桶不支持此功能。
SSECustomerKeyMD5 -> (字符串)
如果请求使用客户提供的加密密钥进行服务器端加密,则响应将包含此标头,以提供客户提供的加密密钥的往返消息完整性验证。
笔记
目录存储桶不支持此功能。
SSEKMSKeyId -> (字符串)
如果存在,则表示用于该对象的密钥管理服务 (KMS) 对称加密客户管理密钥的 ID。
笔记
目录存储桶不支持此功能。
BucketKeyEnabled -> (布尔值)
指示对象是否使用 S3 存储桶密钥通过密钥管理服务 (KMS) 密钥 (SSE-KMS) 进行服务器端加密。
笔记
目录存储桶不支持此功能。
存储类 -> (字符串)
提供对象的存储类信息。Amazon S3 为除 S3 标准存储类对象之外的所有对象返回此标头。
有关更多信息,请参阅 存储类别 。
笔记
目录存储桶 - 目录存储桶仅支持使用 S3 Express One Zone 存储类来存储对象。
请求收费 -> (字符串)
如果存在,则表示已成功向请求者收取请求费用。
笔记
目录存储桶不支持此功能。
复制状态 -> (字符串)
如果您的请求涉及复制规则中的源或目标存储桶,Amazon S3 可以返回此标头。
在复制中,您有一个源存储桶,您可以在其中配置复制,以及目标存储桶或 Amazon S3 存储对象副本的存储桶。当您从这些存储桶请求对象 (GetObject
) 或对象元数据 ( ) 时,Amazon S3 将在响应中HeadObject
返回标头,如下所示:x-amz-replication-status
- 如果从源存储桶请求对象
x-amz-replication-status
,则如果请求中的对象符合复制条件,Amazon S3 将返回标头。例如,假设在您的复制配置中,您指定对象前缀TaxDocs
,请求 Amazon S3 复制具有键前缀的对象TaxDocs
。您上传的任何具有此键名前缀的对象(例如TaxDocs/document1.pdf
)均符合复制条件。对于任何具有此键名前缀的对象请求,Amazon S3 将返回标x-amz-replication-status
头,其值为 PENDING、COMPLETED 或 FAILED,指示对象复制状态。
- 如果从目标存储桶请求对象
x-amz-replication-status
,并且请求中的对象是 Amazon S3 创建的副本,并且没有正在进行的副本修改复制,Amazon S3 将返回值为 REPLICA 的标头。
- 当将对象复制到多个目标存储桶时,
x-amz-replication-status
标头的行为会有所不同。当复制到所有目标时,源对象的标头将仅返回 COMPLETED 值。标头将保持为 PENDING 值,直到所有目标的复制完成。如果一个或多个目标复制失败,标头将返回 FAILED。
有关详细信息,请参阅 复制 。
笔记
目录存储桶不支持此功能。
零件数量 -> (整数)
此对象包含的部分数。仅当您
partNumber
在请求中指定并且对象以分段上传方式上传时,才会返回此值。
ObjectLockMode -> (字符串)
此对象有效的对象锁定模式(如果有)。仅当请求者具有权限时才会返回此标头
s3:GetObjectRetention
。有关 S3 对象锁定的更多信息,请参阅
对象锁定
。
笔记
目录存储桶不支持此功能。
ObjectLockRetainUntilDate -> (时间戳)
对象锁保留期到期的日期和时间。仅当请求者具有权限时才会返回此标头
s3:GetObjectRetention
。
笔记
目录存储桶不支持此功能。
ObjectLockLegalHoldStatus -> (字符串)
指定此对象是否处于合法保留状态。仅当请求者具有权限时才会返回此标头
s3:GetObjectLegalHold
。如果此对象的指定版本从未应用过合法保留,则不会返回此标头。有关 S3 对象锁定的更多信息,请参阅
对象锁定
。
笔记
目录存储桶不支持此功能。
感谢关注雲闪世界。(Aws解决方案架构师vs开发人员&GCP解决方案架构师vs开发人员)
订阅频道(https://t.me/awsgoogvps_Host)
TG交流群(t.me/awsgoogvpsHost)