CLI to create presign URLs to Download or Upload files within an AWS S3 Bucket.
This is project was created because the AWS CLI is not capable the create PUT
or DELETE
presign URL it only provides the option to create GET presign URLs.
Install the package globally
npm install -g aws_presign_url_cli
aws_presign_url_cli <opts>
Full example
aws_presign_url_cli -b my_bucket -k "key/objectToUpload.zip" -e 50000 -m "PUT"
Upload a file with CURL using the presigned URL
curl ${PRESIGNED_URL} --upload-file key/objectToUpload.zip
DESCRIPTION | REQUIRED | PARAMETERS | DEFAULT VALUE | DATA TYPE |
---|---|---|---|---|
Bucket Name | YES |
-b, --bucket |
string |
|
Object key | YES |
-k, --key |
string |
|
presign URL expiration in seconds | NO |
-e, --expiration |
3600 | number |
Method for the presigned URL (GET PUT DELETE) | NO |
-m, --method |
GET | string |
Define a custom region | NO |
-r, --region |
Default Region | string |
This CLi uses under the hood the aws credential-providers
which automatically identify the current credentials, AWS Docs reference
When you build the project it generates an artifactoi with @vercel/ncc within the bin folder
npm ci
npm run build
in the folder StaticSiteUpload
there is a static site which you can use to upload a file with the specified presigned URL.
Also you can use an online version https://riosje.github.io/aws_presign_url_cli/StaticSiteUpload/