2024-09-13 13:53:19 +00:00
---
id: s3
title: Amazon S3
---
2024-09-26 13:04:35 +00:00
ToolJet can connect to **Amazon S3** buckets and perform various operations on them.
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< div style = {{paddingTop:'24px'}} >
2024-09-13 13:53:19 +00:00
## Connection
2024-09-26 13:04:35 +00:00
To establish a connection with the **Amazon S3** data source, you can either click on the ** + Add new Data source** button located on the query panel or navigate to the ** [Data Sources ](/docs/data-sources/overview/ )** page from the ToolJet dashboard.
2024-09-13 13:53:19 +00:00
ToolJet supports connecting to AWS S3 using **IAM Access Keys** , **AWS Instance Credentials** or **AWS ARN Role** .
If you are using **IAM Access Keys** , you will need to provide the following details:
- **Region**
- **Access key**
- **Secret key**
2024-09-26 13:04:35 +00:00
**Note:** It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet.
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img className = "screenshot-full" src = "/img/datasource-reference/aws-s3/iamnew.png" alt = "aws s3 modal" / >
2024-09-13 13:53:19 +00:00
To connect to AWS S3 using **AWS Instance Credentials** , select the **Use AWS Instance Credentials** . This will use the IAM role attached to the EC2 instance where ToolJet is running.
2024-09-26 13:04:35 +00:00
2024-09-13 13:53:19 +00:00
To access the metadata service of an ECS container and the EC2 instance, we use the WebIdentityToken parameter which is obtained from a successful login with an identity provider.
2024-09-26 13:04:35 +00:00
< img className = "screenshot-full" src = "/img/datasource-reference/aws-s3/instanew.png" alt = "aws s3 modal" / >
2024-09-13 13:53:19 +00:00
If you are using **AWS ARN Role** , you will need to provide the following details:
- **Region**
- **Role ARN**
2024-09-26 13:04:35 +00:00
< img className = "screenshot-full" src = "/img/datasource-reference/aws-s3/arnnew.png" alt = "aws s3 modal" / >
2024-09-13 13:53:19 +00:00
:::tip
You can now connect to ** [different S3 Hosts using custom endpoints ](/docs/how-to/s3-custom-endpoints )**.
:::
< / div >
< div style = {{paddingTop:'24px'}} >
## Querying AWS S3
2024-09-26 13:04:35 +00:00
1. Click on ** + Add** button of the query manager at the bottom panel of the editor.
2. Select the **Amazon AWS S3** datasource added in previous step.
3. Select the desired operation from the dropdown and enter the required parameters.
4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query.
2024-09-13 13:53:19 +00:00
< img className = "screenshot-full" src = "/img/datasource-reference/aws-s3/operations3.png" alt = "aws s3 query" / >
:::info
Query results can be transformed using transformations. Read our [transformations documentation ](/docs/tutorial/transformations ).
:::
< / div >
< div style = {{paddingTop:'24px'}} >
2024-09-26 13:04:35 +00:00
## Supported Operations
2024-09-13 13:53:19 +00:00
You can create query for AWS S3 data source to perform several actions such as:
2024-09-26 13:04:35 +00:00
- **[Create a new bucket](#create-a-new-bucket)**
- **[Read object](#read-object)**
- **[Upload object](#upload-object)**
- **[Remove object](#remove-object)**
- **[List buckets](#list-buckets)**
- **[List objects in a bucket](#list-objects-in-a-bucket)**
- **[Signed URL for download](#signed-url-for-download)**
- **[Signed URL for upload](#signed-url-for-upload)**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### Create a New Bucket
2024-09-13 13:53:19 +00:00
You can create a new bucket in your S3 by using this operation.
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket Name**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/createbucket.png" alt = "Create a new bucket - S3 operation" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### Read Object
2024-09-13 13:53:19 +00:00
You can read an object in a bucket by using this operation.
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket**
- **Key**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/readv2-v3.png" alt = "aws s3 read object" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### Upload Object
2024-09-13 13:53:19 +00:00
You can use this operation to upload objects(files) to your S3 bucket.
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket**
- **Key**
- **Content Type**
- **Upload data**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/uplobjv2-v3.png" alt = "aws s3 upload" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### Remove Object
2024-09-13 13:53:19 +00:00
You can use this operation to remove an object from your S3 bucket.
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket**
- **Key**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/removeobject.png" alt = "Create a new bucket - S3 operation" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### List Buckets
2024-09-13 13:53:19 +00:00
This operation will list all the buckets in your S3. This does not require any parameter.
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/listbucketsv2-v3.png" alt = "aws s3 bucket" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### List Objects in a Bucket
2024-09-13 13:53:19 +00:00
This operation will fetch the list of all the files in your bucket. It requires the following parameters:
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
#### Optional Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Prefix**
- **Max keys**
- **Offset**
- **Next Continuation Token**
2024-09-13 13:53:19 +00:00
:::info
2024-09-26 13:04:35 +00:00
**Next Continuation Token** < br / >
For listing a bucket for objects that begin with a specific character or a prefix, then use the **Offset** parameter. For example, if you want to list all the objects that begin with **a** , then set the **Offset** parameter to **a** . Similarly, if you want to list all the objects that begin with **ab** , then set the **Offset** parameter to **ab** . < br />
The **Next Continuation Token** is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain **Next Continuation Token** if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the **Next Continuation Token** parameter and run the query again. < br />
2024-09-13 13:53:19 +00:00
The results will continue from where the last listing finished.
:::
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/listobjectsv2-v3.png" alt = "aws s3 list object" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### Signed URL for Download
2024-09-13 13:53:19 +00:00
The object owner can optionally share objects with others by creating a presigned URL, using their own security credentials, to grant time-limited permission to download the objects.
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket**
- **Key**
- **Expires in**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img style = {{marginBottom:'15px'}} className = "screenshot-full" src = "/img/datasource-reference/aws-s3/urldownv2-v3.png" alt = "aws s3 signed download" / >
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
### Signed URL for Upload
2024-09-13 13:53:19 +00:00
The presigned URLs are useful if you want your user/customer to be able to upload a specific object to your bucket, but you don't require them to have AWS security credentials or permissions.
2024-09-26 13:04:35 +00:00
#### Required Parameters
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
- **Bucket**
- **Key**
- **Expires in**
- **Content Type**
2024-09-13 13:53:19 +00:00
2024-09-26 13:04:35 +00:00
< img className = "screenshot-full" src = "/img/datasource-reference/aws-s3/urluplv2-v3.png" alt = "aws s3 signed upload" / >
2024-09-13 13:53:19 +00:00
:::info
We built an app to view and upload files to AWS S3 buckets. Check out the complete tutorial ** [here ](https://blog.tooljet.com/build-an-aws-s3-broswer-with-tooljet/ )**.
2024-09-26 13:04:35 +00:00
:::
< / div >