gsutil と同様に、Google クラウド ストレージに mv (copy-in-the-cloud) 操作を実装したいと思います ( http://developers.google.com/storage/docs/gsutil/commands/mv ) 。 .
これにはデータの読み取りと書き込み (ダウンロードと再アップロード) が含まれていることを以前どこかで読みましたが、パッセージが再び見つかりません。
これはクラウド ストレージでファイルを移動する正しい方法ですか、それとも、ファイルの名前を変更するためにネットワーク経由でデータをコピーすることを避けるために、boto ライブラリまでレベルを下げる必要がありますか?
istream = cloudstorage.open(src, mode='r')
ostream = cloudstorage.open(dst, content_type=src_content, mode='w')
while True:
buf = istream.read(500000)
if not buf:
break
ostream.write(buf)
istream.close()
ostream.close()
更新: コピーおよび作成操作などをサポートする残りの API を見つけました。何かの名前を変更するために、大陸を越えてデータをコピーする必要がないように思えます。
私が見つけた便利なリンク...
- Boto ベースのアプローチ: https://developers.google.com/storage/docs/gspythonlibrary
- GCS クリネット ライブラリ: https://developers.google.com/appengine/docs/python/googlecloudstorageclient/
- GCS ライブラリ: https://code.google.com/p/appengine-gcs-client
- RAW JSON API: https://developers.google.com/storage/docs/json_api