生成用于存储的下载URL

问题描述 投票:1回答:1

关于Firebase存储,我有几个问题?

我正在使用和admin帐户(具有自定义声明)为Firebase存储对象生成下载URL,并将该URL存储在Firestore中。

用户可以阅读Firestore文档来获取URL,而不必在客户端代码上调用getDownloadUrl。

Q1)我注意到存储URL的末尾有一个令牌。这专用于我的管理员帐户吗?现在没有管理员用户可以读取此令牌吗?

Q2)此外,如果在同一存储路径上名为getDownloadUrl的非管理员用户会收到与管理员帐户相同的URL或另一个帐户?

Q3)如果我切换到客户端使用getDownloadUrl,这会在使用Firebase存储时增加我的成本吗?

Q4)如果我通过URL缓存内容并且URL更改,它将重新下载而不使用缓存。这些下载链接是唯一的还是getDownloadURL可以在后续调用中返回不同的URL?

非常感谢

编辑---

很抱歉,我还有一个问题

Q5)要在Firebase存储器上移动文件,我目前将它们下载到本地PC并将其重新上传到另一个位置-效率很低。

我似乎有人在使用file.move()(可以看到here。]

是否有可能调用firebase函数(因为他们说存储规则是注释中的一个问题,尽管从2016年开始),如果这样的话,这比我的手动下载和上传便宜吗?

对不起,许多问题:)

node.js firebase google-cloud-functions firebase-storage
1个回答
0
投票

1)我注意到存储URL的末尾有一个令牌。这是特定于我的管理员帐户吗?现在没有管理员用户可以读取此令牌是否安全?

取决于您目前拥有的内容,因为您可以将自定义身份验证与Firebase集成在一起,这将使您能够创建自定义令牌,这些令牌可用于在客户端应用程序上登录Firebase身份验证服务并采用令牌声明所描述的身份。在访问其他Firebase服务(例如云存储等)时可以使用此功能。通常,您的服务器应创建具有唯一标识符的自定义令牌。

2)此外,如果在同一存储路径上名为getDownloadUrl的非管理员用户会收到与管理员帐户相同的URL或不同的URL?

取决于您如何设置getDownloadUrl的权限。如果您有一个定制的实例,他们可以收到一个不同的实例,但是通常它会返回一个指向当前引用的新实例。

3)如果我切换到客户端使用getDownloadUrl,这会在使用Firebase存储时增加我的成本吗?

我不确定这一点,我已经检查了文档,没有任何东西可以表明该特定方法的配额或价格,因此我会继续假定它不会这样做,但是我可能对此不对。 。

4)如果我通过URL缓存内容并且URL更改,它将重新下载而不使用缓存。这些下载链接是唯一的还是getDownloadURL可以在后续调用中返回不同的URL?

如前所述,它返回一个指向当前引用的新实例,因此这些下载链接是唯一的。

5)要在Firebase存储器上移动文件,我目前将它们下载到本地PC上,然后将其重新上传到另一个位置-效率很低。

对于这个问题以及您初始文章的最后一部分,我建议您创建一个支持票证,并向Firebase支持团队询问更多详细信息,在此您可以获取有关此信息的更多信息,因为它比StackOverflow更适合他们。 (https://firebase.google.com/support

© www.soinside.com 2019 - 2024. All rights reserved.