【问题标题】:How to find which all folders in gcp bucket contain a file with particular name using java api如何使用java api查找gcp存储桶中的所有文件夹包含具有特定名称的文件
【发布时间】:2022-01-14 14:37:15
【问题描述】:

我有一个具有以下结构的 Google 云存储桶 gs://myBucket/folder1/1.txt gs://myBucket/folder2/1.txt gs://myBucket/folder3/3.txt

我想知道使用 Java api 的所有文件夹都包含名称为 1.txt 的文件。 在我上面的示例中,它将是文件夹 1 和文件夹 2

【问题讨论】:

    标签: java google-cloud-platform


    【解决方案1】:

    文件夹不是 Google Cloud Storage (GCS) 中的资源,请参阅 Folders

    桶可能包含的唯一资源是对象。

    GCS 存储桶中没有可以获取句柄并包含文件内容的文件夹资源。

    对象名称允许使用“/”,并且许多工具将其视为目录路径分隔符(但实际上并非如此)。

    您将需要遍历 每个 对象(请参阅:List 并对每个以 1.txt 结尾的对象名称进行模式匹配。

    【讨论】:

    • 在 java API 中没有像我们在 cloud shell 中那样的方法:gsutil ls gs://myBucket/*/1.txt
    • 可能。使用gcloud,您可以添加--log-http 以查看底层的REST 调用,您知道gsutil 是否有等价物?这可能会突出它是如何实现它的。
    • 看起来您可以使用-Dgsutil 来获取HTTP 详细信息
    猜你喜欢
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    相关资源
    最近更新 更多