it-swarm-ja.com

Google ComputeEngineインスタンスからGoogleCloudStorageバケットにファイルをコピーします

Google ComputeEngineインスタンスからGoogleCloud Storageバケットにファイルを直接コピーする方法はありますか? gcloud compute copy-files ヘルプページまたはGoogle CloudStorageのドキュメントに情報がないようです。

私が見ている唯一の例は、ローカルにダウンロードしてから再度アップロードすることです。これは、非常に大きなファイルがある場合は意味がありません。

5
sathishvj

これを行う最良の方法は、インスタンスにSSHで接続し、gsutilコマンドを使用して、ファイルをGCEインスタンスからGCSバケットに直接コピーすることです。

インスタンスには、最初にインスタンスを作成するときに作成する必要がある設定であるGoogle CloudStorageの「書き込みスコープ」が必要であることに注意してくださいOR後でサービスアカウントを使用して追加できます)。

Googleから提供されたマシンイメージを使用している場合、gsutilはすでにVMインスタンスにインストールされています。

例:

gsutil cp file1 file2 gs://bucket

アップロードするファイルがたくさんある場合は、-mを介して並列化できます。

gsutil -m cp file1 file2 gs://bucket

ディレクトリを再帰的にアップロードする場合は、-rを使用します。

gsutil cp -r dir1 gs://bucket

詳細については、 gsutil cp のドキュメントを参照してください。

9
chrispomeroy