python - 通过云函数从云存储中读取数据
问题描述
我正在尝试快速验证在 Python 中构建数据处理管道的概念。为此,我想构建一个 Google 函数,当某些 .csv 文件被放入云存储时将触发该函数。
我按照这个 Google Functions Python 教程进行操作,虽然示例代码确实触发了函数以在删除文件时创建一些简单的日志,但我真的被困在实际读取数据内容必须进行的调用上。我试图搜索 SDK/API 指导文档,但找不到。
如果这是相关的,一旦我处理了 .csv,我希望能够将我从中提取的一些数据添加到 GCP 的 Pub/Sub 中。
解决方案
该函数实际上并不接收文件的内容,只是接收一些关于它的元数据。
你会想要使用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...
推荐阅读
- opengl - 如何在 LWJGL 中实现平面着色
- android - Android计费:如果用户在购买应用产品后获得退款怎么办
- r - ggplot 正在绘制错误的数据
- android - 带有 Firebase 云消息传递的 Flutter 2.0:onMessage 未在 Android 上调用
- makefile - 编译 glib 时“没有制定目标的规则”
- r - 使用 spatstat 包在形状图中绘制点
- android - 为什么它试图访问主线程上的数据库?
- batch-file - 从批处理文件中使用 PuTTY Plink 执行“su”
- azure - 迁移到 Office 365 的用户在使用 Microsoft Graph 时具有称为“日历”的重复日历
- csv - 如何使用 bq load 将具有非常大的复杂几何列的 CSV 加载到 BigQuery 中?