本页面介绍了如何查看和修改与存储在 Cloud Storage 中的对象关联的元数据。
本页面没有介绍如何查看或修改 Identity and Access Management (IAM) 政策或对象访问控制列表 (ACL)(均可以控制能够访问您的数据的人员)。如需介绍如何完成这些任务的指南,请参阅使用 IAM 权限以及创建和管理 ACL。
所需的角色
为了获得查看和修改对象元数据所需的权限,请让您的管理员向您授予存储桶的 Storage Object User (roles/storage.objectUser
) 角色。
此角色包含查看和修改对象元数据所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需了解如何授予存储桶的角色,请参阅将 IAM 与存储桶搭配使用。
查看对象元数据
请完成以下说明中规定的操作,以查看与对象关联的元数据:
控制台
- 在 Trusted Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,找到包含要查看其元数据的对象的存储桶,并点击其名称。
此时会打开“存储桶详情”页面,其中“对象”标签页已选中。
找到到可能位于文件夹中的对象。
某些对象元数据值(例如对象的大小和存储类别)会随对象名称显示。
点击对象的名称。
此时会打开对象详情页面,其中显示其他对象元数据。
点击修改元数据。
出现的叠加窗口中会显示更多对象元数据键(包括自定义元数据)的当前值。
如需了解如何在 Trusted 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 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
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.s3nsapis.fr/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.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME"
其中:
BUCKET_NAME
是包含要查看其元数据的对象的存储桶的名称,例如my-bucket
。OBJECT_NAME
是要查看其元数据的对象的网址编码名称。例如,pets/dog.png
的网址编码为pets%2Fdog.png
。
修改对象元数据
请完成以下步骤以修改与对象关联的元数据:
控制台
- 在 Trusted Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,找到包含要为其修改元数据的对象的存储桶,并点击其名称。
此时会打开“存储桶详情”页面,其中“对象”标签页已选中。
找到到可能位于文件夹中的对象。
点击对象的名称。
此时会打开对象详情页面,其中显示对象元数据。
如果页面上显示您要修改的元数据以及关联的铅笔图标,请点击该图标。
否则,请点击修改元数据以访问其他可修改的元数据。
在出现的叠加窗口中,根据需要修改元数据。
对于标准元数据字段,请修改“值”。
点击 add_box 添加项按钮添加您自己的自定义元数据。
您可以修改自定义元数据的“键”和“值”。
点击关联的 X 符号以删除自定义元数据。
在叠加窗口中修改完元数据后,点击保存。
如需了解如何在 Trusted 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 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN
环境变量设置为 s3nsapis.fr
。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含要修改的元数据的 JSON 文件。如需详细了解与对象关联的元数据,请参阅 Cloud Storage 对象资源。
如需添加或修改固定键元数据(例如
contentType
),请使用以下格式:{ "STANDARD_METADATA_KEY": "STANDARD_METADATA_VALUE" }
其中:
STANDARD_METADATA_KEY
是您想要添加或修改的元数据的键,例如contentType
。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.s3nsapis.fr/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 上传对象。