https://github.com/aphexlog/sample-s3-presigned-url-metadata
https://github.com/aphexlog/sample-s3-presigned-url-metadata
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/aphexlog/sample-s3-presigned-url-metadata
- Owner: aphexlog
- License: apache-2.0
- Created: 2023-10-29T13:30:37.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-30T14:44:29.000Z (over 2 years ago)
- Last Synced: 2025-06-15T10:06:50.488Z (about 1 year ago)
- Language: Python
- Size: 123 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# S3 Presigned URL with Metadata Project
his Serverless Python project demonstrates how to extend an S3 presigned URL with metadata, which can later be retrieved during the object's lifecycle. It consists of two AWS Lambda functions:
- `get_presigned_url` - Returns a presigned URL for uploading an object to an S3 bucket.
- `get_metadata` - Returns the metadata of an object in an S3 bucket.
## Requirements
- AWS Account
- Python 3.x
- AWS CLI
- Serverless Framework
## Setup & Deployment
1. Clone the repository.
```bash
git clone
```
2. Navigate to the project directory.
```bash
cd s3-presigned-url-with-metadata
```
3. Run `sam build` to build the application.
```bash
serverless deploy
```
## Architecture
- **AWS S3**: Storage service to host objects.
- **AWS Lambda**: Two functions for generating presigned URLs and fetching metadata.
## Limitations
- Presigned URLs are time-sensitive.
- Metadata is attached during the PUT operation and cannot be modified afterwards.
## Contributing
Feel free to contribute by submitting pull requests or by reporting issues.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.