LoginSignup
2
2

More than 3 years have passed since last update.

GoogleAnalyticsのrawデータをBigQueryにcloud functionsを使って定時エクスポート

Last updated at Posted at 2020-03-27

GoogleAnalyticsのrawデータをBigQueryにcloud functionsを使って定時エクスポート

2日目の記事と内容がほぼ同じなのですが、しばらくして、2日目の記事がcloud functionsからだと使えないことがわかったので、詰まったところと、その対処方法までお伝えしていきたいと思います。

やること

  1. GoogleAnalytics APIを使ってpythonにrawデータをはき出す
  2. pandasを使って、GoogleCloudStarageにアップロード
  3. GCSからBig Queryにエクスポート

つまったところ

1.ローカルにファイル作成ができない

2日目のものはローカルで実行する分には問題ありませんでした。
しかし、cloud functionではread onlyであり、csvファイルを作成することができません。
なので、直接BigQueryにエクスポートするか、GCSにcsvファイルを作成することなくアップロードするしかありません。
結果から言うと、後者を選びました。

/tmp/ディレクトリならファイル作成できるとか記事があったんですが、試してうまく行かなったので途中であきらめました。

2.なんか勝手に実行する関数に2つの変数を与えられている

実行する関数には2つの変数を用意しておかないといけないようです。

理由

前者だと、letter,number,under_scoreしかpagePathに使えないらしく、また、ほかにもルールがいろいろとあるようで使えませんでした。

GCSに直接アップロードする方法

記事を探していたら、この方の記事がわかりやすかったです。
PythonでGoogle Cloud Storage(GCS)、BigQueryへpandas DataFrameをcsv保存するclass

コード

day5.py

5日目も終了!

ちょっとこういうのを塚回すのもどうかなって思ったんですが、めっちゃ時間かかっちゃったので、ほかにも同じ人がいたら助けになれたら幸いです。
みなさんもコロナには気を付けてください!

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2