本页面介绍了如何查看和修改与存储在 Cloud Storage 中的对象关联的元数据。
本页面没有介绍如何查看或修改 Identity and Access Management (IAM) 政策或对象访问控制列表 (ACL)(均可以控制能够访问您的数据的人员)。如需介绍如何完成这些任务的指南,请参阅使用 IAM 权限以及创建和管理 ACL。
查看对象元数据
如需查看与对象关联的元数据,请执行以下操作:
控制台
- 在 Google Cloud Console 中打开 Cloud Storage 浏览器。
打开 Cloud Storage 浏览器 在存储分区列表中,点击存放所需对象的存储分区的名称。
此时会打开存储分区详情页面,其中对象标签已选中。
导航到可能位于文件夹中的对象。
某些对象元数据值(例如对象的大小和存储类别)会随对象名称显示。
点击与对象关联的更多操作菜单 (
)。
点击修改元数据。
出现的叠加窗口中会显示对象当前的可修改元数据值。
请参阅问题排查,了解如何获取有关 Cloud Storage 浏览器中失败操作的详细错误信息。
gsutil
使用 gsutil stat
命令:
gsutil stat gs://BUCKET_NAME/OBJECT_NAME
其中:
BUCKET_NAME
是包含要查看其元数据的对象的存储分区的名称,例如my-awesome-bucket
。OBJECT_NAME
是要查看其元数据的对象的名称,例如cat.jpeg
。
如果成功,响应类似于以下示例:
gs://my-awesome-bucket/cat.jpeg: Creation time: Fri, 03 Feb 2017 22:43:31 GMT Update time: Wed, 10 May 2017 18:33:07 GMT Storage class: STANDARD Content-Length: 11012 Content-Type: image/jpeg Metadata: Breed: Tabby Hash (crc32c): HQbzrB== Hash (md5): OBydg25+pPG1Cwawjsl7DA== ETag: CJCh9apA9dECAEs= Generation: 1486161811706000 Metageneration: 11
代码示例
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
REST API
JSON API
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
使用
cURL
,通过GET
Object 请求调用 JSON API:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌。BUCKET_NAME
是包含要查看其元数据的对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是要查看其元数据的对象的名称,例如pets/dog.png
。
XML API
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
使用
cURL
,通过HEAD
Object 请求调用 XML API:curl -I HEAD \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
其中:
OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌。BUCKET_NAME
是包含要查看其元数据的对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是要查看其元数据的对象的名称,例如pets/dog.png
。
修改对象元数据
如需修改与对象关联的元数据,请执行以下操作:
控制台
- 在 Google Cloud Console 中打开 Cloud Storage 浏览器。
打开 Cloud Storage 浏览器 在存储分区列表中,点击存放所需对象的存储分区的名称。
此时会打开存储分区详情页面,其中对象标签已选中。
导航到可能位于文件夹中的对象。
点击与对象关联的更多操作菜单 (
)。
点击修改元数据。
在出现的叠加窗口中,对元数据执行所需的修改。
对于标准元数据字段,请修改“值”。
点击 + 添加项按钮添加您自己的自定义元数据。
您可以修改自定义元数据的“键”和“值”。
点击关联的 X 符号以删除自定义元数据。
点击保存。
请参阅问题排查,了解如何获取有关 Cloud Storage 浏览器中失败操作的详细错误信息。
gsutil
使用 gsutil setmeta -h
命令:
gsutil setmeta -h "METADATA_KEY:METADATA_VALUE" gs://BUCKET_NAME/OBJECT_NAME
其中:
METADATA_KEY
是您想要设置的元数据键,例如Content-Type
。METADATA_VALUE
是您想要设置的元数据值,例如image/png
。BUCKET_NAME
是包含您要修改其元数据的对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是您要修改其元数据的对象的名称,例如pets/dog.png
。
如果成功,则响应类似如下示例:
Operation completed over 1 objects.
请注意,如果您要使用 gsutil 添加自定义元数据,必须在元数据键的前面加上 x-goog-meta-
前缀,以让 gsutil 识别出这是自定义元数据属性,而非标准 HTTP 标头。元数据键本身不会与 x-goog-meta-
前缀一起存储。自定义 "METADATA_KEY:METADATA_VALUE"
的一个示例是 "x-goog-meta-dogbreed:shibainu"
。
代码示例
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需使用 C# 修改与对象关联的元数据,请参阅 PatchObject 参考文档。Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需使用 Go 修改与对象关联的元数据,请参阅 ObjectHandle 参考文档。Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需使用 PHP 修改与对象关联的元数据,请参阅 Google Cloud 客户端库参考文档。Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需使用 Ruby 修改与对象关联的元数据,请参阅Google::Cloud::Storage::File
类参考文档。
REST API
JSON API
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
创建一个包含要修改的元数据的 .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.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
JSON_FILE_NAME
是您在第 2 步中创建的 JSON 文件的名称。OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌的名称。BUCKET_NAME
是包含您要修改其元数据的对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是您要修改其元数据的对象的名称,例如pets/dog.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 上传对象。
后续步骤
- 详细了解与对象关联的元数据。
- 更改与对象关联的存储类别。
- 为对象添加保全。