本页面介绍了如何查看和修改与存储在 Cloud Storage 中的对象关联的元数据。
本页面没有介绍如何查看或修改 Identity and Access Management (IAM) 政策或对象访问控制列表 (ACL)(均可以控制能够访问您的数据的人员)。如需介绍如何完成这些任务的指南,请参阅使用 IAM 权限以及创建和管理 ACL。
所需的角色
为了获得查看和修改对象元数据所需的权限,请让您的管理员向您授予存储桶的 Storage Object User (roles/storage.objectUser
) 角色。
此角色包含查看和修改对象元数据所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需了解如何授予存储桶的角色,请参阅将 IAM 与存储桶搭配使用。
查看对象元数据
请完成以下说明中规定的操作,以查看与对象关联的元数据:
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,找到包含要查看其元数据的对象的存储桶,并点击其名称。
此时会打开“存储桶详情”页面,其中“对象”标签页已选中。
找到到可能位于文件夹中的对象。
某些对象元数据值(例如对象的大小和存储类别)会随对象名称显示。
点击对象的名称。
此时会打开对象详情页面,其中显示其他对象元数据。
点击修改元数据。
出现的叠加窗口中会显示更多对象元数据键(包括自定义元数据)的当前值。
如需了解如何在 Google Cloud 控制台中获取有关失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查。
命令行
使用 gcloud storage objects describe
命令:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
其中:
BUCKET_NAME
是包含要查看其元数据的对象的存储桶的名称,例如my-awesome-bucket
。OBJECT_NAME
是要查看其元数据的对象的名称,例如cat.jpeg
。
如果成功,响应类似于以下示例:
bucket: my-awesome-bucket content_type: image/png crc32c_hash: pNKjPQ== creation_time: 2024-01-26T21:33:04+0000 custom_fields: Animal: Cat Type: Cute custom_time: 1970-01-01T00:00:00+0000 etag: CMXyydSA/IMDEAE= generation: '1706304784726341' md5_hash: KCbI3PYk1aHfekIvf/osrw== metageneration: 1 name: kitten.png size: 168276 storage_class: STANDARD storage_class_update_time: 2024-01-26T21:33:04+0000 storage_url: gs://my-awesome-bucket/kitten.png#1706304784726341 update_time: 2024-01-26T21:33:04+0000
客户端库
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Terraform
您可以使用 Terraform 资源查看对象的元数据。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。使用
cURL
通过GET
Object 请求调用 JSON API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
BUCKET_NAME
是包含要查看其元数据的对象的存储桶的名称,例如my-bucket
。OBJECT_NAME
是要查看其元数据的对象的网址编码名称。例如,pets/dog.png
的网址编码为pets%2Fdog.png
。
XML API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。使用
cURL
,通过HEAD
Object 请求调用 XML API:curl -I HEAD \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
其中:
BUCKET_NAME
是包含要查看其元数据的对象的存储桶的名称,例如my-bucket
。OBJECT_NAME
是要查看其元数据的对象的网址编码名称。例如,pets/dog.png
的网址编码为pets%2Fdog.png
。
修改对象元数据
请完成以下步骤以修改与对象关联的元数据:
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,找到包含要为其修改元数据的对象的存储桶,并点击其名称。
此时会打开“存储桶详情”页面,其中“对象”标签页已选中。
找到到可能位于文件夹中的对象。
点击对象的名称。
此时会打开对象详情页面,其中显示对象元数据。
如果页面上显示您要修改的元数据以及关联的铅笔图标,请点击该图标。
否则,请点击修改元数据以访问其他可修改的元数据。
在出现的叠加窗口中,根据需要修改元数据。
对于标准元数据字段,请修改“值”。
点击 add_box 添加项按钮添加您自己的自定义元数据。
您可以修改自定义元数据的“键”和“值”。
点击关联的 X 符号以删除自定义元数据。
在叠加窗口中修改完元数据后,点击保存。
如需了解如何在 Google Cloud 控制台中获取有关失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查。
命令行
使用 gcloud storage objects update
命令:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME METADATA_FLAG
其中:
BUCKET_NAME
是包含您要修改其元数据的对象的存储桶的名称,例如my-bucket
。OBJECT_NAME
是您要修改其元数据的对象的名称,例如pets/dog.png
。METADATA_FLAG
是要修改的元数据的标志。例如--content-type=image/png
。
如果成功,则响应类似如下示例:
Patching gs://my-bucket/pets/dog.png#1560574162144861... Completed 1
如需查看可使用此命令更新的元数据的完整列表,请参阅命令参考页面。
客户端库
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含要修改的元数据的 JSON 文件。
如需添加或修改 固定键元数据(例如
contentType
),请使用以下格式:{ "STANDARD_METADATA_KEY": "STANDARD_METADATA_VALUE" }
其中:
STANDARD_METADATA_KEY
是您想要添加或修改的元数据的键,例如Content-Type
。STANDARD_METADATA_VALUE
是您想要添加或修改的元数据的值,例如image/png
。
如需添加或修改自定义元数据,请使用以下格式:
{ "metadata": { "CUSTOM_METADATA_KEY": "CUSTOM_METADATA_VALUE" } }
其中:
CUSTOM_METADATA_KEY
是您想要添加或修改的自定义元数据键,例如dogbreed
。CUSTOM_METADATA_VALUE
是您要与自定义元数据键关联的值,例如shibainu
。
如需删除自定义元数据条目,请使用以下格式:
{ "metadata": { "CUSTOM_METADATA_KEY": null } }
其中:
CUSTOM_METADATA_KEY
是您想要删除的自定义元数据的键,例如dogbreed
。
使用
cURL
,通过PATCH
Object 请求调用 JSON API:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
JSON_FILE_NAME
是您在第 2 步中创建的文件的路径。BUCKET_NAME
是包含您要修改其元数据的对象的存储桶的名称,例如my-bucket
。OBJECT_NAME
是要修改其元数据的对象的网址编码名称。例如,pets/dog.png
的网址编码为pets%2Fdog.png
。
请注意,您还可以使用 UPDATE
Object 请求更改对象的元数据。使用此方法时,系统会从对象的元数据中移除请求中未明确指定的所有元数据。
XML API
使用 XML API 时,您只能在写入对象时(例如上传、移动或替换对象时)设置元数据。按照说明(比如上传对象)操作,并遵循以下准则:
将
-H "METADATA_KEY:METADATA_VALUE"
添加到您所设置的每个元数据值的请求标头中,例如-H "Content-Type:image/png"
。在任何自定义元数据值前面加上
x-goog-meta-
前缀。自定义"METADATA_KEY:METADATA_VALUE"
的一个示例是"x-goog-meta-dogbreed:shibainu"
。
如需了解详情,请参阅使用 XML 上传对象。