如何解决如何使用 java admin sdk 从 firebase 存储中删除对象
我有存储位置(如 gs://xxxxxx.appspot.com/43B92kgk7nRtN9uaIGpCAMFF3mr1/2020-12-24 13:18:59.670092.jpg )并想通过管理 SDK 从我的 Spring Boot 应用程序中删除该对象。
在所有文档中,他们谈到 blob Id 、bucket name 和 ...(我没有这些信息),试图通过存储位置 uri 找到这些信息,但没有成功。
我想知道使用存储位置 uri 从存储中删除最简单的解决方案是什么
解决方法
如果您使用 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 已经为您设置了存储桶名称。
这是我通过反复试验找到的解决方案,通过测试不同的存储桶名称、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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。