取得した結果を更新日付の降順で並び替えるには、AWS CLIの--queryオプションとともに、sort_by関数を使用することができます。具体的には、以下のコマンドを実行します:
aws s3api list-objects-v2 --bucket YOUR_BUCKET_NAME --prefix YOUR_PREFIX --query "sort_by(Contents, &LastModified)[*].{Key: Key, LastModified: LastModified}" --output json
これを実際のバケット名とプレフィックスに置き換えた例として、バケット名が my-bucket で、プレフィックスが my-directory/ の場合、以下のようなコマンドになります:
aws s3api list-objects-v2 --bucket my-bucket --prefix my-directory/ --query "sort_by(Contents, &LastModified)[*].{Key: Key, LastModified: LastModified}" --output json
このコマンドは:
- バケット
my-bucketのmy-directory/というプレフィックスを持つオブジェクトリストを取得します。 - 取得したオブジェクトリストを
LastModifiedフィールドを基にソートします(デフォルトは昇順)。 - 各オブジェクトの
KeyとLastModifiedのみを表示します。 - 結果をJSON形式で出力します。
もし降順に並べ替えたい場合は、reverse関数を使います。以下のコマンドを使用してください:
aws s3api list-objects-v2 --bucket my-bucket --prefix my-directory/ --query "reverse(sort_by(Contents, &LastModified))[*].{Key: Key, LastModified: LastModified}" --output json
このコマンドでは、まずLastModifiedで昇順に並べ替え、次にそれを逆順(降順)にしています。

コメント