python - 数据导入 uploadData API - 通过 GCS 和 App Engine 应用程序实现自动化

标签 python google-app-engine google-api google-analytics-api google-api-python-client

我想将数据导入 Google Analytics 的过程自动化,以便每天晚上将原始 CSV 上传到 Google Cloud Storage > 我的应用读取这些文件并将数据导入 Google Analytics

我相信这可以通过 App Engine 应用来实现:

  • 每晚运行 cron 作业,从 GCS 读取数据 CSV
  • 并可能使用uploadData Management API管理/上传/上传数据以进行数据导入POST https://www.googleapis.com/upload/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources/customDataSourceId/uploads

但我遇到的问题是:uploadData API 的 Python 客户端库只接受文件名来上传数据:

media = MediaFileUpload('custom_data.csv',mimetype,resumable=False)
daily_upload = analytics.management().uploads().uploadData(accountId, webPropertyId, customDataSourceId, media_body).execute()

而 App Engine 应用程序没有任何可以从中读取文件的永久性磁盘(我尝试插入 GCS 存储桶名称而不是文件名,但它不起作用)

有什么建议可以使流程自动化吗?还是我走对了路……?

非常感谢任何线索..我被困在这里:)

最佳答案

客户端库和 api 不要求它是一个文件。只有您的 MediaFileUpload 可以,您应该能够创建一个媒体 uploader 来接收流。文档提到了它的可能

https://developers.google.com/api-client-library/python/guide/media_upload#extending-mediaupload

关于python - 数据导入 uploadData API - 通过 GCS 和 App Engine 应用程序实现自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49855940/

相关文章:

python - 处理列表和字典的惯用方式

python - 尝试训练二元分类 SGDClassifier 时出现位置参数错误

python - AppEngine MapReduce 如何在使用数据存储输入读取器时过滤 StructuredProperty?

google-chrome - 在 Vultr、Digital Ocean、Heroku 或 GAE 上运行 google chrome puppeteer

google-api - 停止观看 Google Calendar API 中的事件

google-api - get_video_info YouTube 端点突然返回 404 not found

ruby-on-rails-3.2 - Google plus 在流中插入事件

python - 如何在 Python 中打印棋盘格图案?

python - Django 的 ORM 如何在访问外部对象时设法获取它们

python - 使用 ComputedProperty 安全吗?