Amazon S3
Amazon S3 is a highly scalable and secure cloud storage service offered by Amazon Web Services (AWS). When combined with ILLA Cloud, developers can seamlessly integrate Amazon S3 into their applications, leveraging its robust storage capabilities to store and retrieve data efficiently. ILLA Cloud simplifies the integration process, allowing developers to seamlessly connect to Amazon S3 and utilize its powerful features, such as data encryption, versioning, access controls, and seamless scalability. With the integration of Amazon S3 on ILLA Cloud, developers can enhance their applications with reliable and scalable storage solutions, enabling them to focus on building innovative and data-driven experiences.
Create Amazon S3 API
There are two ways to create a resource in Illa after signing into your Illa account.
- Create in Resources
Sign in to your Illa account, select **Resources**
on the top of the page, and click **Create New**
button.
Select Amazon S3
from the API list.
Connect to the database with the required parameters described in Connection Settings
below.
Click **Test Connection**
to see if we can successfully connect to the database. If yes, click Save Resources
, else, double check the hostname, port, username, and password is correct.
After creating a resource, the ready Amazon S3 will display as shown.
- Create in Builder
Sign into your Illa account, create a project in Illa Builder on the **App**
page, and navigate to the Action List
at the bottom of the page. Click **new**
, then select Amazon S3
from the database list. Then, connect to the database with the required parameters described in Connection Settings
below.
Click **Test Connection**
to see if we can successfully connect to the database. If yes, click Save Resources
, else, double check the hostname, port, username, and password is correct.
Connection Settings
Here we need to provide information for connecting to Amazon S3 API.
Properties | Required | Description |
---|---|---|
Name | required | The name for resource when creating actions in the ILLA. |
Bucket name | optional | a unique identifier that represents a storage container in Amazon S3. It provides a logical separation for organizing and accessing your files |
S3 ACL for uploaded files | optional | allows you to define fine-grained access permissions for files within your bucket. It specifies who can perform specific operations, such as reading, writing, or deleting files. |
Region | required | geographical location where your Amazon S3 bucket is stored. It determines the physical location of your data and can impact factors like latency and data transfer costs. |
Custom S3 endpoint | optional | enables you to configure a specific endpoint URL for accessing your Amazon S3 resources. It can be useful for scenarios where you want to use a custom domain or integrate with a CDN (Content Delivery Network). |
Access key | required | credentials that authenticate your requests to access Amazon S3 |
Secret access key | required | generated when you create an IAM (Identity and Access Management) user or an AWS (Amazon Web Services) access key pair. |
Create Actions
We have created an Amazon S3 resource, we can add the action by selecting Amazon S3 from the action list and choosing the Create action
button.
Now we have added the Amazon server as an action to our building page.
Configure Amazon S3
Overview
Method Name | Description |
---|---|
Action Type | list all objects in a bucket, read an object, download an object, delete an object, delete multiple objects, upload data, upload multiple data |
Bucket name | a unique identifier that represents a storage container in Amazon S3. |
Transformer | transforming data into the style you like using JavaScript |
List all objects in a bucket
retrieve a list of all objects stored within a specific bucket.
Input
Properties | Required | Description |
---|---|---|
Prefix to filter results | optional | filter the results to include only objects whose key (name) begins with a specific prefix |
Delimiter | optional | specify a character that separates object key hierarchies |
Generate Signed URL | optional | whether to generate a time-limited URL that provides temporary access to a specific object |
Max Keys | optional | limit the maximum number of objects returned in the response |
For example, to get all objects in the database.
Output
return an array of objects, each including at least one objectKey
property.
Use {{s31.data}}
to get all returned data.
Read an object
retrieve the contents of a specific object stored within a bucket
Input
Properties | Required | Description |
---|---|---|
Object Key | required | the name or path of the object within the bucket |
Generate Signed URL | optional | generate a time-limited URL that provides temporary access to a specific object |
For example, to get the content of document '1111.txt', put 1111.txt
for Object key
.
Output
return the content and metadata of a document
Use {{s31.data}}
to get the returned data.
Download an object
retrieve the contents of a specific object stored within a bucket
Input
Properties | Required | Description |
---|---|---|
Object Key | required | the name or path of the object within the bucket |
Generate Signed URL | optional | generate a time-limited URL that provides temporary access to a specific object |
For example, to download the document '1111.txt', put 1111.txt
for Object key
.
Output
return the content and metadata of a document and download the document to local
Delete an object
deletes a single object from an S3 bucket.
Input
Properties | Required | Description |
---|---|---|
Object Key | required | the name or path of the object within the bucket |
Generate Signed URL | optional | generate a time-limited URL that provides temporary access to a specific object |
For example, to delete the document '1111.txt', put 1111.txt
for Object key
.
Output
return the content and metadata of the deleted document
Delete multiple objects
deletes multiple objects simultaneously from an S3 bucket
Input
Properties | Required | Description |
---|---|---|
Object Key | required | the name or path of the object within the bucket |
Generate Signed URL | optional | generate a time-limited URL that provides temporary access to a specific object |
For example, to delete multiple documents, put {{["images.jpeg", "images-1.png"]}}
for Object key
.
Output
return the content and metadata of the deleted documents
Upload data
uploading an object into a bucket
Input
Properties | Required | Description |
---|---|---|
Content Type | required | MIME type of object you are uploading. |
Upload object name | required | the name of the object you are uploading. |
Upload data | required | the data you want to upload to Amazon S3. |
Timeout for uploading a file (Minute) | optional | the uploading time in minutes before the uploading process is stopped by a timeout error |
For example, to delete multiple documents, put text
for content type
, text.txt
for upload object name
, and text
for upload data
.
Output
return the message of whether the document is uploaded successfully
Upload multiple data
upload a list of objects into a bucket
Input
Properties | Required | Description |
---|---|---|
Content Type | required | MIME type of object you are uploading. |
Upload object name list | required | a list of names of the objects you are uploading. |
Upload data list | required | a list of the data you want to upload to Amazon S3. |
Timeout for uploading a file (Minute) | optional | the uploading time in minutes before the uploading process is stopped by a timeout error |
For example, to delete multiple documents, put text
for content type
, {{['text.txt', 'text2.txt']}}
for upload object name list
, and {{['text', 'text2']}}
for upload data list
.
Output
return the message of whether the documents are uploaded successfully