Skip to main content

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.

external_resource

Select Amazon S3 from the API list.

action_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.

amazon_ex_ready

  • 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.

amazon_config

PropertiesRequiredDescription
NamerequiredThe name for resource when creating actions in the ILLA.
Bucket nameoptionala 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 filesoptionalallows 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.
Regionrequiredgeographical 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 endpointoptionalenables 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 keyrequiredcredentials that authenticate your requests to access Amazon S3
Secret access keyrequiredgenerated 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.

amazon_resource_list

Now we have added the Amazon server as an action to our building page.

amazon

Configure Amazon S3

Overview

Method NameDescription
Action Typelist all objects in a bucket, read an object, download an object, delete an object, delete multiple objects, upload data, upload multiple data
Bucket namea unique identifier that represents a storage container in Amazon S3.
Transformertransforming 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

PropertiesRequiredDescription
Prefix to filter resultsoptionalfilter the results to include only objects whose key (name) begins with a specific prefix
Delimiteroptionalspecify a character that separates object key hierarchies
Generate Signed URLoptionalwhether to generate a time-limited URL that provides temporary access to a specific object
Max Keysoptionallimit 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.

amazon_list_all_data

Use {{s31.data}} to get all returned data.

amazon_list_all_code

Read an object

retrieve the contents of a specific object stored within a bucket

Input

PropertiesRequiredDescription
Object Keyrequiredthe name or path of the object within the bucket
Generate Signed URLoptionalgenerate 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

amazon_read_data1

amazon_read_data2

Use {{s31.data}} to get the returned data.

amazon_read_code

Download an object

retrieve the contents of a specific object stored within a bucket

Input

PropertiesRequiredDescription
Object Keyrequiredthe name or path of the object within the bucket
Generate Signed URLoptionalgenerate 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

amazon_read_data1

Delete an object

deletes a single object from an S3 bucket.

Input

PropertiesRequiredDescription
Object Keyrequiredthe name or path of the object within the bucket
Generate Signed URLoptionalgenerate 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

amazon_delete_data

amazon_delete_data1

Delete multiple objects

deletes multiple objects simultaneously from an S3 bucket

Input

PropertiesRequiredDescription
Object Keyrequiredthe name or path of the object within the bucket
Generate Signed URLoptionalgenerate 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

amazon_delete2_data1

amazon_delete2_data2

Upload data

uploading an object into a bucket

Input

PropertiesRequiredDescription
Content TyperequiredMIME type of object you are uploading.
Upload object namerequiredthe name of the object you are uploading.
Upload datarequiredthe data you want to upload to Amazon S3.
Timeout for uploading a file (Minute)optionalthe 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

amazon_upload_data1

amazon_upload_data2

Upload multiple data

upload a list of objects into a bucket

Input

PropertiesRequiredDescription
Content TyperequiredMIME type of object you are uploading.
Upload object name listrequireda list of names of the objects you are uploading.
Upload data listrequireda list of the data you want to upload to Amazon S3.
Timeout for uploading a file (Minute)optionalthe 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

amazon_upload_data1

amazon_upload_data2