Lambda function that waits for files uploaded to S3, converts them to docx using Pandoc and uploads back to S3. This project is based on Claudia Pandoc S3 example.
This example shows how to wire up S3 file conversion that runs an external processor, in this case Pandoc, a Swiss army knife for document conversion. Check out the Running Pandoc on Lambda Guide for more information.
- create a S3 bucket for file uploads
- run
npm installto fetch the dependencies - run
npm startto deploy the initial lambda version - modify the package.json
connectscript to use your bucket name - run
npm run connectto configure your S3 bucket to invoke the lambda function when a new file is uploaded to the/indirectory
Once you've installed everything, send a test file, for example a markdown file, to your bucket using the S3 console, or the AWS CLI tools. The command lines below assume the bucket is called pandoc-test-bucket, so adjust the commands for your bucket name accordingly.
aws s3 cp example.md s3://pandoc-test-bucket/in/example.mdWait a few seconds, and then check if the /out folder of your S3 bucket
aws s3 ls s3://pandoc-test-bucket/out/Download the file with the same base name, but the docx extension, from the /out folder:
aws s3 cp s3://pandoc-test-bucket/out/example.docx .