したがって、S3 コンソールを表示し、ファイル一覧を含むフォルダーにアクセスできますが、数千のファイルを考慮すると機能しないページネーションを実行する以外に、フォルダー内のファイルの合計数を確認する方法が見つかりません。
答え1
これによりオブジェクトがリストされ、最後にオブジェクトの合計数とサイズが表示されます。
aws s3 ls s3://bucketName/path/ --recursive --summarize
バケット名をバケット名に変更するだけです。パスは実際にはバケット内のフォルダーです(必要な場合)。(バケット全体が必要な場合は削除してください)
CLI から s3api を使用することもできます:
aws s3api list-objects --bucket bucketName --query "[length(Contents[])]"
コメントに記載されているように、バケットが大きい場合は時間がかかることがあります。
答え2
実際にファイルを印刷せずにファイル数だけが必要な場合は、パイプで次のように渡すことができます。カルダザーwc -l
好きに提案した
aws s3 ls s3://bucketName/path/ | wc -l
答え3
答え4
バケット内のオブジェクトの数だけを取得する別の方法は、grep
を使用したときに自動的に表示される出力の一部である「Total Objects」を使用することです--summarize
。
aws s3 ls s3://bucketName/path/ --recursive --summarize | grep "Total Objects:"
1633 個のファイルを含むフォルダーの場合、次の結果が返されます。
Total Objects: 1633