首页 > 解决方案 > 通过云函数从云存储中读取数据

问题描述

我正在尝试快速验证在 Python 中构建数据处理管道的概念。为此,我想构建一个 Google 函数,当某些 .csv 文件被放入云存储时将触发该函数。

我按照这个 Google Functions Python 教程进行操作,虽然示例代码确实触发了函数以在删除文件时创建一些简单的日志,但我真的被困在实际读取数据内容必须进行的调用上。我试图搜索 SDK/API 指导文档,但找不到。

如果这是相关的,一旦我处理了 .csv,我希望能够将我从中提取的一些数据添加到 GCP 的 Pub/Sub 中。

标签: pythonpython-3.xgoogle-cloud-platformgoogle-cloud-storagegoogle-cloud-functions

解决方案


该函数实际上并不接收文件的内容,只是接收一些关于它的元数据。

你会想要使用google-cloud-storage客户端。有关详细信息,请参阅“下载对象”指南。

将它与您正在使用的教程放在一起,您将获得如下功能:

from google.cloud import storage

storage_client = storage.Client()

def hello_gcs_generic(data, context):
    bucket = storage_client.get_bucket(data['bucket'])
    blob = bucket.blob(data['name'])
    contents = blob.download_as_string()
    # Process the file contents, etc...

推荐阅读