我可以使用元数据值搜索Google云端存储分区吗?

时间:2017-11-29 14:15:55

标签: google-cloud-platform google-cloud-storage

我正在使用我的Google云端存储存储桶大量使用元数据,现在我有一个用例,我需要使用一些元数据字段值来搜索文件。 我查看了整个文档(https://cloud.google.com/storage/docs/gsutil/addlhelp/WorkingWithObjectMetadata),但我没有找到任何与元数据搜索相关的内容,有什么原因我可以这样做,还是我应该继续自己构建一些东西?

1 个答案:

答案 0 :(得分:0)

现在可以使用API​​做到这一点。

设置自定义元数据:

  • 访问Viewing and Editing Object Metadata文档,以获取更多信息。
  • 使用gsutil setmeta -h "[METADATA_KEY]:[METADATA_VALUE]" gs://[BUCKET_NAME]/[OBJECT_NAME]命令。
  • [METADATA_KEY]应该以{{1​​}}开头,如自定义元数据的文档所述。因此[METADATA_KEY] = x-goog-meta-。注意值中没有空格。
  • [METADATA_VALUE]也应该没有空格。使用x-goog-meta-[CUSTOM_VALUE]_

使用API​​根据对象的CUSTOM元数据搜索对象。

此示例适用于Python,但是Listing Objects文档中还支持许多其他语言。

  • 列出存储桶Sample Code中的对象
  • 对于找到的每个对象,列出所有元数据。 Sample Code
  • 仅打印-部分并将其转换为字符串,而不是打印它们。如果它是默认值,则将是blob.metadata,否则将是您设置的JSON格式的自定义元数据密钥。
  • 使用该值执行None操作以检查它是否与您要查找的值兼容,并相应地执行任何操作。
  • 注意:保存的自定义值不带==前缀。仅在将元数据设置为自定义值时用于确定API调用。元数据中仅第二部分可见。例如您使用x-goog-meta-,它将显示为x-goog-meta-test_metadata

我自己做了一些编码,这是一个Python例子,完全按照我上面的描述进行。您可以找到code in GitHub here