Use a config file, you had been warning.
aws configure sso
aws sso login --profile ${PROFILE_NAME}
Export credentials:
eval $(aws configure export-credentials --profile ${PROFILE_NAME} --format env)
That will export:
export AWS_ACCESS_KEY_ID=ASIA5***********PU export AWS_SECRET_ACCESS_KEY=5e1F****************************YJ export AWS_SESSION_TOKEN=IQoJb3J***********************************************************McuBR3R6E7Y= export AWS_CREDENTIAL_EXPIRATION=2024-08-19T21:32:31+00:00
aws s3api get-object \ --bucket BUCKET_NAME \ --key int/dodger_test.jpg \ dodger_test.jpg
aws s3api get-object \ --bucket BUCKET_NAME \ --key int/dodger_test.jpg \ --version-id "32zEKPVEBUcVbd2VFHgtJx.07hmCIjmd" \ dodger_test.jpg
aws s3api put-object --bucket BUCKET_NAME --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2
Full:
aws s3api list-object-versions --bucket BUCKET_NAME --prefix object_name
Just VersionId
and LastModified
timestamp:
aws s3api list-object-versions --bucket BUCKET_NAME --prefix object_name | jq '.Versions[] | "\(.LastModified) \(.VersionId)"'
aws s3api restore-object \ --bucket BUCKET_NAME \ --key dodger_test.jpg \ --version-id "32zEKPVEBUcVbd2VFHgtJx.07hmCIjmd"
If you get:
An error occurred (InvalidObjectState) when calling the RestoreObject operation: Restore is not allowed for the object's current storage class
You have to overwrite it…