web-dev-qa-db-ja.com

Gsutil-Gsutilを使用してファイルがGCSバケット(サブディレクトリ)に存在するかどうかを確認するにはどうすればよいですか?

パスにいくつかのファイルを含むGCSバケットがあります

gs://main-bucket/sub-directory-bucket/object1.gz

サブディレクトリバケットに特定のファイルが1つ含まれているかどうかをプログラムで確認したいと思います。 gsutilを使用してこれを実行したいと思います。

これはどのように行うことができますか?

12
activelearner

gsutil stat コマンドを使用できます。

6
jterrace

gsutil stat コマンドを使用します。ファイル数が多いサブディレクトリにアクセスするには、ワイルドカード(*)を使用します。

例えば:

gsutil -q stat gs://some-bucket/some-subdir/*; echo $?

あなたの場合:

gsutil -q stat gs://main-bucket/sub-directory-bucket/*; echo $?

結果は存在する; 1存在しないことを意味します

もあります gsutil lshttps://cloud.google.com/storage/docs/gsutil/commands/ls

例えば.

gsutil ls gs://my-bucket/foo.txt

出力は、同じファイルパスまたは「CommandException: One or more URLs matched no objects. "

1
starmandeluxe

何らかの理由でそのリストの結果に応じて何かをしたい場合(たとえば、ディレクトリに寄木細工のファイルがある場合は、bqテーブルをロードします):

gsutil -q stat gs://dir/*.parquet; if [ $? == 0 ]; then bq load ... ; fi

0
Borja_042