【问题标题】:How I can remove an object from firebase storage with java admin sdk如何使用 java admin sdk 从 firebase 存储中删除对象
【发布时间】:2021-04-03 10:23:44
【问题描述】:

我有存储位置(如 gs://xxxxxx.appspot.com/43B92kgk7nRtN9uaIGpCAMFF3mr1/2020-12-24 13:18:59.670092.jpg )并想通过管理 SDK 从我的 Spring Boot 应用程序中删除该对象。

在他们谈论 blob Id、bucket name 和 ...(我没有这些信息)的所有文档中,试图通过存储位置 uri 找到这些信息但没有成功。

我想知道使用存储位置 uri 从存储中删除的最简单解决方案是什么

【问题讨论】:

  • 正如我在问题中提到的,我使用的是 Java API 而不是 Node.js。您的回答可能对使用 node.js 的人有所帮助,我对此表示感谢,但绝对不是我正在寻找的答案

标签: java firebase firebase-storage firebase-admin


【解决方案1】:

这是我通过试验和错误找到的解决方案,通过测试不同的存储桶名称、bolb 名称和 blob id。 (bucket name , blob name 或 blob Id 在大多数文档中并不明显)

我使用“xxxxxx.appspot.com”作为存储桶名称,使用“43B92kgk7nRtN9uaIGpCAMFF3mr1/2020-12-24 13:18:59.670092.jpg”作为 blob 名称,并使用以下代码将其从存储中删除

 Bucket bucket = StorageClient.getInstance().bucket("timeline-10.appspot.com");
 boolean result =  bucket.get("43B92kgk7nRtN9uaIGpCAMFF3mr1/2020-12-24 13:18:59.670092.jpg").delete();

【讨论】:

  • 谢谢!!它就像一个魅力
【解决方案2】:

如果您使用的是 Node.js,Firebase Admin SDK 中的存储模块只会为您自动初始化常规的 Node.js SDK for Cloud Storage。所以你可以使用他们example of deleting a file中显示的方法:

// Deletes the file from the bucket
await storage.bucket(bucketName).file(filename).delete();

console.log(`gs://${bucketName}/${filename} deleted.`);

您可能需要从您拥有的位置删除 gs://xxxxxx.appspot.com/,因为 Admin SDK 已经为您设置了存储桶名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-21
    • 2019-01-16
    • 2020-11-21
    • 2018-07-04
    • 2020-05-09
    • 2018-09-22
    • 1970-01-01
    • 2021-07-30
    相关资源
    最近更新 更多