如何使用java admin sdk从firebase存储中删除对象

zd287kbt  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(277)

我有存储位置(如gs://.appspot.com/43b92kgk7nrtn9uaigpcamff3mr1/2020-12-24 13:18:59.670092.jpg),并希望通过admin sdk从我的spring boot应用程序中删除该对象。
在所有的文档中,它们都会讨论blob id、bucket name和我没有这些信息),试图通过存储位置uri查找这些信息,但没有成功。
我想知道用存储位置uri从存储中删除最简单的解决方案是什么

sr4lhrrt

sr4lhrrt1#

如果您使用的是node.js,那么firebase管理sdk中的存储模块只会为您自动初始化常规的node.js sdk用于云存储。因此,您可以使用他们删除文件示例中所示的方法:

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

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

你可能需要脱掉衣服 gs://.appspot.com/ 从您拥有的位置开始,因为管理sdk已经为您的设置了bucket名称。

igetnqfo

igetnqfo2#

这里是我的解决方案,我通过试验和错误找到,通过测试不同的bucket名称、bolb名称和blob id(bucket name、blob name或blob id在大多数文档中都不明显)
我使用“.appspot.com”作为bucket名称,使用“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();

相关问题