【问题标题】:How to process CSV and return to front end using cloud functions?如何处理CSV并使用云函数返回前端?
【发布时间】:2021-06-25 11:20:24
【问题描述】:

我正在尝试使用云功能和 Firebase 存储来实现以下目标:

  1. 用户将 CSV 上传到前端。
  2. 我将该 CSV 保存到 Firebase 存储中
  3. 触发了云函数
  4. 云函数对 CSV 进行一些处理并创建一个新的 CSV
  5. 新的 CSV 被保存到 Firebase 存储中,并向前端发送响应,详细说明读取新 csv 的位置

如何使用云功能实现这一目标? 与其使用云存储触发函数,不如让函数通过 HTTP 请求触发?

【问题讨论】:

    标签: firebase google-cloud-functions


    【解决方案1】:

    处理过程如下:

    1. 首先将 CSV 作为数据 blob/文件从客户端上传到用户上传目录
    2. 完成后,使用 blob/文件的引用路径调用 Cloud Function OnCall
    3. Cloud 函数加载存储项,并将其检查为 CSV,根据硬编码或提供的任何特定参数对其进行解码。
    4. 将新的 CSV 保存到新的存储路径或覆盖它,然后:
    5. 生成下载 URL 并将其交给客户端,或者
    6. 将 CSV 内容作为响应直接传递给客户端(有大小限制)

    您可以使用onRequest 执行此操作,但最好使用onCall 获取来自客户端的上下文。此外,存储不支持 Firebase-Storage 和 Node,而是依赖于 Google-Cloud-Storage 模块、源链接以及两个强烈推荐用于 Node/js 环境的 CSV 解析器。

    来源:

    【讨论】:

    • 为什么是blob?您可以轻松地将 .csv、.tab 或任何类型的文件存储在存储中。直接操作 .csv 文件需要几个步骤和代码。只是好奇...
    • 一致性,主要是。数据块更容易处理来自用户的未知数据类型,并且转换为数据流并返回是 1 行代码。
    • 我明白了。感谢那。由于 OP 明确声明文件是 .csv,因此可能不需要该步骤(转换为 blob),但无论哪种方式都很好!为你点赞!
    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 2021-08-19
    • 2020-10-11
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多