I wanted to show, how you can delete data from S3 using API. With a simple curl, you can delete files from S3. In the following example, I delete the test_empty.txt
file from the bucket named BUCKET_NAME
from the eu-west-1
region. For correct operation, you must provide ADD_YOUR_KEY_ID
and ADD_YOUR_SECRET_KEY_VALUE
.
#!/usr/bin/env bash access_key_id=ADD_YOUR_KEY_ID secret_key=ADD_YOUR_SECRET_KEY_VALUE file_path=test_empty.txt bucket_name=BUCKET_NAME region=eu-west-1 # metadata content_Type="application/octet-stream" date=`date -R` full_path="/${bucket_name}/${file_path}" signature_string="GET\n\n${content_Type}\n${date}\n${full_path}" signature=`echo -en ${signature_string} | openssl sha1 -hmac ${secret_key} -binary | base64` # save file in file_path ( -o, --output <file>)(-s, --silent)(-S disable progress meter but still show error messages) curl -Sso ${file_path} \ -H "Host: ${bucket_name}.s3.${region}.amazonaws.com" \ -H "Date: ${date}" \ -H "Content-Type: ${content_Type}" \ -H "Authorization: AWS ${access_key_id}:${signature}" \ -X "GET" https://${bucket_name}.s3.${region}.amazonaws.com/${file_path}
By making a small change, you can download the file first and then remove it from S3. More information can be found on my blog.
I also recorded a video on YouTube in which I show 7 ways to delete data from S3 - https://youtu.be/SckbCTULsHM
You'd rather read than watch, no problem. On my blog you will also find an article in which I described 7 ways to delete data from S3 - https://lepczynski.it/en/aws_en/7-ways-to-delete-data-from-s3/
Top comments (0)