【问题标题】:How to load CSV data in CloudSQL using Cloud Functions in Node.js?如何使用 Node.js 中的 Cloud Functions 在 CloudSQL 中加载 CSV 数据?
【发布时间】:2019-02-11 23:52:09
【问题描述】:

我正在接收特定存储桶中的 CSV 文件中的数据。我必须将该数据加载到相应的 CloudSQL 表中。我对此有以下疑问:

  1. 我是否可以选择在将 CSV 作为输入并在 DB 中执行插入的云函数代码中调用任何 api 或 gcloud 命令或 CURL 命令?
  2. 如果上述选项不可行,那么是否有任何性能优化方法可用于准备查询并在 CloudSQL 中触发这些查询,因为数据会很大,我想加载这些数据会花费很多时间。

【问题讨论】:

  • According to doc 可以通过将 CSV 存储在谷歌云存储上并通过 CURL 导入。否则你应该解析这个文件并使用标准插入。

标签: node.js google-cloud-functions google-cloud-sql


【解决方案1】:

documentation on importing a CSV into CloudSQL 包含此 curl 调用示例:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"importContext":
                  {"fileType": "CSV",
                   "uri": "gs://<BUCKET_NAME>/<PATH_TO_DUMP_FILE>",
                   "database": "<DATABASE_NAME>",
                   "csvImportOptions":
                        {"table": "<TABLE_NAME>"}}}' \
   -X POST \
   https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/import

需要注意的一些重要事项:

【讨论】:

    猜你喜欢
    • 2021-04-18
    • 2021-03-29
    • 2018-01-14
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 2023-04-07
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多