https://github.com/riosje/aws_presign_url_cli
npm/node cli to create presign URLs to Download or Upload files within an AWS S3 Bucket
https://github.com/riosje/aws_presign_url_cli
aws awscli cli presigned-url presignedurl s3
Last synced: 4 months ago
JSON representation
npm/node cli to create presign URLs to Download or Upload files within an AWS S3 Bucket
- Host: GitHub
- URL: https://github.com/riosje/aws_presign_url_cli
- Owner: riosje
- License: mit
- Created: 2022-12-10T18:48:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-14T16:31:57.000Z (over 1 year ago)
- Last Synced: 2025-09-02T20:46:24.128Z (9 months ago)
- Topics: aws, awscli, cli, presigned-url, presignedurl, s3
- Language: JavaScript
- Homepage:
- Size: 175 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# aws_presign_url_cli
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.
# Installation
Install the package globally
```SHELL
npm install -g aws_presign_url_cli
```
# CLI USAGE
```SHELL
aws_presign_url_cli
```
Full example
```SHELL
aws_presign_url_cli -b my_bucket -k "key/objectToUpload.zip" -e 50000 -m "PUT"
```
Upload a file with CURL using the presigned URL
```SHELL
curl ${PRESIGNED_URL} --upload-file key/objectToUpload.zip
```
## CLI AVAILABLE OPTIONS
|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` |
## AWS Credentials
This CLi uses under the hood the aws `credential-providers` which automatically identify the current credentials, [AWS Docs reference](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)
# Build
When you build the project it generates an artifactoi with @vercel/ncc within the bin folder
```SHELL
npm ci
npm run build
```
# Test the PUT presgined URL Created
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/