【问题标题】:Can i search Google Cloud Storage Bucket using metadata values?我可以使用元数据值搜索 Google Cloud Storage Bucket 吗?
【发布时间】:2018-05-13 06:51:36
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    不,GCS 不提供搜索功能。

    【讨论】:

    • 此答案无效或可能已过时
    • 这个答案还是正确的。
    【解决方案2】:

    现在可以通过 API 做到这一点。

    设置自定义元数据:

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

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

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 2013-06-18
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多