在 Firebase Cloud Function 项目下使用 Assests 文件夹

Bog*_*gac 5 google-cloud-storage firebase google-cloud-functions

我想assetsfunctions包含多个图像文件的文件夹下有一个文件夹(也许它也有一些子文件夹)。根据数据库操作,我想将该assets文件夹(或其子文件夹之一)的部分或全部内容复制到使用该特定db操作指定的 Firebase 存储位置。(或在temp将它们发送到云存储位置之前进行编辑的文件夹下)

这可能吗?我找不到任何相关信息。

我知道我可以首先将这些资产放在 Firebase Storage 下,我只是想将它们放在下面functions以保持我的项目结构干净。此外,存储的 Cloud Function 区域中的任何操作都是按文件进行的,没有批量文件夹操作。

更新:

确实有可能,在使用自定义子文件夹时,需要在 Cloud Functions 中使用正确的文件/文件夹位置。等我有空的时候再写一个答案。

Lun*_*ast 5

您确实可以将资产文件夹与函数代码一起部署。例如,考虑以下目录结构:

\n\n
functions\n\xe2\x94\x82   index.js\n\xe2\x94\x82   package.json    \n\xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80assets\n    \xe2\x94\x82   file_1.png\n    \xe2\x94\x82   file_2.png\n    \xe2\x94\x82\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80subfolder1\n        \xe2\x94\x82   file_3.png\n        \xe2\x94\x82   file_4.png\n        \xe2\x94\x82   ...\n
Run Code Online (Sandbox Code Playgroud)\n\n

在函数文件夹中运行firebase deploy ...命令将部署整个树。然后,从 index.json 中的导出函数中,您将能够像通常在 Nodejs 中一样访问资产文件夹内容。

\n\n

不过,这种方法需要考虑的一件事是,云函数存在资源限制,特别是在部署大小方面:

\n\n

在此输入图像描述

\n\n

根据图片的大小,这可能是一个问题。请注意,即使总大小在限制范围内,规模越大,扩展时部署所需的时间就越长。

\n

  • 我尝试通过资产文件夹上传图像,但无法在 firebase 函数中读取该图像。你能解释一下吗?基本上,我使用该静态图像通过图像魔法与用户个人资料图片合并。 (2认同)