GCEのインスタンスからGCSまたはBigQueryにデータを送る方法

この投稿は

GCPのドキュメントをよく探ればちゃんと書いてあるけどすぐに見つけられないときのための備忘録。

to GCS

ライブラリのインストール

インスタンスの状態によって諸々違うでしょうが自分がやった手順のメモ。

Python 使う前提。

sudo apt-get install -y python3-pip
sudo pip3 install --upgrade google-cloud-storage
1
2

cf: https://cloud.google.com/storage/docs/reference/librariesopen in new window

サンプルコードをパクる

ここopen in new window を見れば良いだけ。

Python ならそのまま使えるコードがここopen in new windowにある。

destication_blob_name には bucket 名以下の path(に見えるもの)を指定すれば良い。

to BigQuery

ライブラリのインストール

sudo pip3 install google-cloud-bigquery
1

※ちなみにこのライブラリのインストール完了まで結構時間がかかる。 grpcio のライブラリのビルドに時間がかかるようなのでこれだけ別途落としてくると時間短縮できそうだが1時間もかからないので放置でもOK。

サンプルコードをパクる

Python でそのまま使えるサンプルコードはここopen in new window

アップロードもとのファイル形式を変えたり job config いじるときは公式のドキュメントopen in new windowを見る。

JSON ファイルからアップロードしたい場合は

job_config = bigquery.LoadJobConfig(
    source_format=bigquery.SourceFormat.NEWLINE_DELIMITED_JSON, autodetect=True,
)
1
2
3

とかしておけば良い。

参照

to GCS

to BigQuery

Last Updated:
Contributors: sojiro14