8

gsutil (またはその他のツール) を使用して、Google Cloud Storage 上のオブジェクトの名前を一括変更することはできますか? 大量の画像の名前を *.JPG から *.jpg に変更する方法を見つけようとしています。

4

4 に答える 4

1

gsutil は、並列化および一括コピー/名前変更をサポートしていません。

次の 2 つのオプションがあります。

  • データフロー プロセスを使用して操作を行うか、
  • GNUパラレルを使用して、いくつかのプロセスを使用して起動します

GNU Parallel を使用する場合は、新しいインスタンスをデプロイして一括コピー/名前変更操作を実行することをお勧めします。

  • 最初に: - 次のように、コピー/名前変更するファイルのリスト (コピー元とコピー先をスペースまたはタブで区切ったファイル) を作成します。
gs://origin_bucket/path/file gs://dest_bucket/new_path/new_filename
  • 2 番目: 新しいコンピューティング インスタンスを起動する
  • 3 番目: そのインスタンスにログインし、Gnu parallel をインストールします。
sudo apt install parallel
  • 3 番目:コンピューティングのサービス アカウントにはファイルを移動/名前変更する権限がない可能性があるため、Google (gcloud auth login) で自分自身を承認します。
gcloud auth login
  • 並列でコピー (gsutil cp) または移動 (gsutil mv) 操作を行います。
   parallel -j 20 --colsep ' ' gsutil mv {1} {2} :::: file_with_source_destination_uris.txt

これにより、gsutil cp オペレーションが 20 回並列実行されます。

于 2020-03-15T12:02:58.033 に答える
-1
于 2014-11-27T08:55:19.570 に答える