API to get an S3 presigned url for file uploads
Project description
cdk-s3-upload-presignedurl-api
cdk-s3-upload-presignedurl-api is AWS CDK construct library that create an API to get a presigned url to upload a file in S3.
Background
In web and mobile applications, it's common to provide the ability to upload data (documents, images, ...). Uploading files on a web server can be challenging and AWS recommends to upload files directly to S3. To do that securely, you can use pre-signed URLs. This blog post provides some more details.
Architecture
- The client makes a call to the API, specifying the "contentType" of the file to upload in request parameters (eg.
?contentType=image/png
in the URL) - API Gateway handles the request and execute the Lambda function.
- The Lambda function makes a call to the
getSignedUrl
api for aputObject
operation. - The Lambda function returns the generated URL and the key of the object in S3 to API Gateway.
- The API returns the generated URL and the key of the object in S3 to the client.
- The client can now use this URL to upload a file, directly to S3.
Getting Started
TypeScript
Installation
$ npm install --save cdk-s3-upload-presignedurl-api
Usage
import * as cdk from '@aws-cdk/core';
import { S3UploadPresignedUrlApi } from 'cdk-s3-upload-presignedurl-api';
const app = new cdk.App();
const stack = new cdk.Stack(app, '<your-stack-name>');
new S3UploadPresignedUrlApi(stack, 'S3UploadSignedUrl');
Python
Installation
$ pip install cdk-s3-upload-presignedurl-api
Usage
import aws_cdk.core as cdk
from cdk-s3-upload-presignedurl-api import S3UploadPresignedUrlApi
app = cdk.App()
stack = cdk.Stack(app, "<your-stack-name>")
S3UploadPresignedUrlApi(stack, 'S3UploadSignedUrl')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for cdk-s3-upload-presignedurl-api-0.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5f9cf6284844479ee130926cf323c65efbad698309dae4c457267b6584bf883 |
|
MD5 | fc0c8e2678cb11cb376860de89ca86a4 |
|
BLAKE2b-256 | 2086aacf585e46886f338b776dacfc56515c606e41dd8711fd127fb6a1d81117 |
Close
Hashes for cdk_s3_upload_presignedurl_api-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad0142ed02c4b6b8f7f8b793803ea3bfbe0add58b6efc6747e9f692381dc66e2 |
|
MD5 | 99b1145694573805eddc670c3227f8be |
|
BLAKE2b-256 | 02d856f9a444780f13500d558af011c4de81bf2c6349610af8c31539cf93eac9 |