AWS S3
AWS S3 is used to store arbitrary unstructured data like images, files, backups, etc. Aidbox offers integration with S3 to simplify upload and retrieval of data. All examples from this tutorial are executable in Aidbox REST console.
Setup AwsAccount
Create an instance of AwsAccount that contains access credentials and region settings.
Get signed URL to upload the file
Provide AwsAccount id as well as the bucket name and get back the signed URL that you can use to upload the data. By default, the link is valid for 24 hours.
You should use PUT request method with signed URL and provide content data in the request body.
Get a signed URL to retrieve the file
You should use GET request method with signed URL:
Get a signed URL to delete the file
It is also possible to delete the file:
Configuration options
AwsAccount.access-key-id
string
The access key ID used for authentication with AWS S3 or an S3-compatible service
AwsAccount.secret-access-key
string
The secret key paired with the access key ID for authentication
AwsAccount.region
string
Specifies the geographical region where the cloud service operates (e.g., us-east-1
for AWS S3).
AwsAccount.host
string
The endpoint or base URL of the storage service, required for non-AWS S3 providers. Default is s3.amazonaws.com
AwsAccount.use-ssl
boolean
Use HTTPS or HTTP. Default is false
AwsAccount.path-style
boolean
Use <protocol>://<host>/<bucket-id>/<filename>
URL instead of <protocol>://<bucket-name>.<host>/<file>
. Default is false
.
Expiration query parameter
You can provide an expiration query parameter which sets X-Amz-Expires query param of signed URL. Expiration time is measured in seconds, e.g. for 12 hours expiration you should provide 43200.
If your implementation requires additional configuration parameters, reach out to us through Aidbox Users community or private support chat.
How to use compatible S3 storages
Some storages, like MinIO or Garage have compatible with Amazon S3 cloud storage service API. Here's an example of AwsAccount to use with local MinIO:
Last updated
Was this helpful?