Skip to main content

Amazon S3 Integration

Amazon S3 is a cloud storage service.

Windmill provides a unique resource type for any API following the typical S3 schema.

Windmill S3 integration

You can link a Windmill workspace to an S3 bucket and use it as source and/or target of your processing steps seamlessly, without any boilerplate.


See Object Storage for Large Data for more details.

Self Host

If you're looking for a way to self-host Windmill using AWS, see Self-Host Windmill.

Add an S3 Resource

Amazon S3's API follows the same schema as any S3 compatible API.

To integrate Amazon S3 to Windmill, you need to save the following elements as a resource.

PropertyTypeDescriptionDefaultRequiredWhere to FindAdditional Details
bucketstringS3 bucket nametrueAWS Management ConsoleName of the S3 bucket to access
regionstringAWS region for the S3 buckettrueAWS Management ConsoleRegion where the S3 bucket is located. Can also be found by checking the endpoint URL for the bucket. In the form eu-west-3
useSSLbooleanUse SSL for connectionstruefalseAWS Management Console or Custom S3-compatible APISSL/TLS is required for Amazon S3
endPointstringS3 endpointtrueAWS Management Console or Custom S3-compatible APIEndpoint URL will vary by region or custom API provider. Can be found in the AWS documentation in the form s3.eu-west-3.amazonaws.com.
accessKeystringAWS access keytrue for AmazonAWS Management Console (IAM)Access key ID for AWS account owner. Can be found in the IAM section of the AWS Management Console under "My Security Credentials". Make sure the user has the right policies allocated.
pathStylebooleanUse path-style addressingfalsetrueAWS Management Console or Custom S3-compatible APIDefault is virtual-hosted-style URLs
secretKeystringAWS secret keytrue for AmazonAWS Management Console (IAM)Secret access key for AWS account owner. Can be found in the IAM section of the AWS Management Console under "My Security Credentials". Make sure the user has the right policies allocated.


Your resource can be used passed as parameters or directly fetched within scripts, flows and apps.


Example of a Supabase resource being used in two different manners from a script in Windmill.


tip

Find some pre-set interactions with S3 on the Hub.

Feel free to create your own S3 scripts on Windmill.

Connect your Windmill workspace to your S3 bucket or your Azure Blob storage

Once you've created an S3 or Azure Blob resource in Windmill, you can use Windmill's native integration with S3 and Azure Blob, making it the recommended storage for large objects like files and binary data.

S3 Integration Infographic

Using S3 with Windmill is not limited. What is exclusive to the Enterprise version is using the integration of Windmill with S3 that is a major convenience layer to enable users to read and write from S3 without having to have access to the credentials.

S3/Azure for Python Cache & Large Logs

For large logs storage (and display) and cache for distributed Python jobs, you can connect your instance to a bucket.