1 réponse
- Le plus récent
- Le plus de votes
- La plupart des commentaires
1
Hello Franck,
It seems like you want to identify all S3 objects that do not have the 'Cache-Control' metadata set. I don't think the AWS CLI provides a direct command to filter out such objects. But you can still accomplish it with a combination of commands.
Here's a basic example using AWS CLI and Bash to find S3 objects in a given bucket that do not have the 'Cache-Control' metadata set:
#!/bin/bash bucket="your-bucket-name" # replace with your bucket name aws s3api list-objects --bucket $bucket | jq -r .Contents[].Key | while read key do cache_control=$(aws s3api head-object --bucket $bucket --key "$key" | jq -r .Metadata.\"Cache-Control\") if [ "$cache_control" = "null" ]; then echo $key fi done
In this script, we are:
- Listing all objects in a bucket using
aws s3api list-objects. - Iterating over each object key.
- Using
aws s3api head-objectto get the metadata of each object. - Using
jqto extract the 'Cache-Control' metadata. - Checking if 'Cache-Control' is 'null' (not set) and if so, printing out the object key.
This script will print out the keys of all objects that do not have 'Cache-Control' set.
Please note the following:
- You need to have the
jqcommand-line JSON processor installed to run this script. If you don't have it, you can install it withsudo apt-get install jqon Ubuntu orbrew install jqon macOS. - If your bucket has a large number of objects, you should use the
--page-size,--max-items, and--starting-tokenparameters with thelist-objectscommand to retrieve the objects in smaller batches. - You will be billed for the use of the
s3api head-objectAPI. Consider the cost if you have a large number of objects. - If you have versioning enabled for your bucket, you should modify this script to handle object versions. The
list-objectscommand does not return versions; you need to use thelist-object-versionscommand instead. - Replace
"your-bucket-name"with the actual name of your S3 bucket.
Hope this helps!
Contenus pertinents
- demandé il y a 8 mois
- demandé il y a 8 mois
- demandé il y a un mois
- AWS OFFICIELA mis à jour il y a 6 mois

Hello Ivan, thank you for your reply and the information provided. That's exacly what I was looking for!