Skip to content

Instantly share code, notes, and snippets.

@javisabalete
Created June 21, 2017 15:49
Show Gist options
  • Save javisabalete/2f75acdac12902493254b5e7cadc4a74 to your computer and use it in GitHub Desktop.
Save javisabalete/2f75acdac12902493254b5e7cadc4a74 to your computer and use it in GitHub Desktop.
AWS S3 CURL Requests
PUT
limit=5000
resource="/${BUCKET}/${OBJECT}"
dateValue=`date -R`
stringToSign="PUT\n\n\n${dateValue}\n${resource}"
signature=`/bin/echo -en ${stringToSign} | openssl sha1 -hmac ${PASS} -binary | base64`
curl --limit-rate ${limit}K -f -X PUT -T "${file}" \
-H "Host: ${BUCKET}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Authorization: AWS ${USER}:${signature}" \
https://${BUCKET}.s3.amazonaws.com/${array2[@]: -1:1} >> put.log 2>&1
GET
limit=5000
resource="/${BUCKET}/${OBJECT}"
dateValue=`date -R`
stringToSign="GET\n\n\n${dateValue}\n${resource}"
signature=`/bin/echo -en "$stringToSign" | openssl sha1 -hmac ${PASS} -binary | base64`
curl --limit-rate ${limit}K -f -O -H "Host: ${BUCKET}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Authorization: AWS ${USER}:${signature}" \
https://${BUCKET}.s3.amazonaws.com/${file} >> get.log 2>&1
DELETE
resource="/${BUCKET}/${OBJECT}"
dateValue=`date -R`
stringToSign="DELETE\n\n\n${dateValue}\n${resource}"
signature=`/bin/echo -en "$stringToSign" | openssl sha1 -hmac ${PASS} -binary | base64`
curl -f -X DELETE -H "Host: ${BUCKET}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Authorization: AWS ${USER}:${signature}" \
https://${BUCKET}.s3.amazonaws.com/${array2[@]: -1:1} >> delete.log 2>&1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment