====== [CHEATSHEET] aws cli ======
====== Very initial commands======
===== Configure sso =====
Use a config file, you had been warning.
aws configure sso
===== login sso =====
aws sso login --profile ${PROFILE_NAME}
===== Credentials =====
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
====== S3 ======
===== Get object =====
aws s3api get-object \
--bucket BUCKET_NAME \
--key int/dodger_test.jpg \
dodger_test.jpg
===== Get object Version=====
aws s3api get-object \
--bucket BUCKET_NAME \
--key int/dodger_test.jpg \
--version-id "32zEKPVEBUcVbd2VFHgtJx.07hmCIjmd" \
dodger_test.jpg
===== put object =====
aws s3api put-object --bucket BUCKET_NAME --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2
===== List object versions =====
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)"'
===== Restore object from older version =====
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...