Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated May 1, 2024

S3 Upload confirmation

You can use defineStorage and defineFunction to create a function trigger to confirm uploading a file.

To get started, install the @types/aws-lambda package, which contains types for different kinds of Lambda handlers, events, and responses.

npm add --save @types/aws-lambda

Update your storage definition to define the onUpload trigger as below:

import { defineFunction, defineStorage } from "@aws-amplify/backend";
export const storage = defineStorage({
name: 'myProjectFiles',
triggers: {
onUpload: defineFunction({
entry: './on-upload-handler.ts'

Next, create a file named amplify/storage/on-upload-handler.ts and use the following code to log the object keys whenever an object is uploaded to the bucket. You can add your custom logic to this function as needed.

import type { S3Handler } from 'aws-lambda';
export const handler: S3Handler = async (event) => {
const objectKeys = => record.s3.object.key);
console.log(`Upload handler invoked for objects [${objectKeys.join(', ')}]`);

Now, when you deploy your backend, this function will be invoked whenever an object is uploaded to the bucket.