中野智文のブログ

データ・マエショリストのメモ

aws s3 のファイルを圧縮しながらストリーミングでgcsに置く

背景

早い話が、gsutil の -z オプションの挙動(静的ホスティングじゃないとき)がよくわからなかったから。

cp - Copy files and objects  |  Cloud Storage Documentation  |  Google Cloud

コマンド

aws s3 cp s3://your-s3-bucket/your-file.txt - | gzip -c | gsutil cp - gs://your-gs-bucket/your-file.txt.gz

ちなみにこういう場合、通信料金的には s3 が置いてあるリージョンのEC2の(マイクロ)インスタンスがおおすすめ。

注意

aws のプロファイルが一つじゃなく、.boto ファイルとかを頑張れ、-z オプションの挙動に納得しているなら gsutil だけでいけそう。 もっというと、複数同時に走らせたりとかも可能みたいなので、できる方はそちらで。