Edge Impulse makes it easy to access data that you have stored in the cloud by offering integrations with several storage providers and the flexibility to connect a storage solution to an organization or directly to a project.
There are two locations within Edge Impulse where you can connect to cloud storage, from within an organization or within a project. These options are described below. For details related to the specific storage provider integration options available, please see the Storage provider integrations section of this document.
Cloud storage can be connected to an organization. By connecting your data to an organization, you are offered the flexibility to pre-process your datasets through the use of transformation blocks and to feed your datasets into multiple projects.
To connect, access your organization, select Data in the left sidebar menu, select the Buckets tab at the top of the page, then click the + Add new bucket
button. Follow the instructions in the modal window that pops up.
Cloud storage can be connected directly to a project. To connect, access your project, select Data acquisition in the left sidebar menu, select the Data sources tab at the top of the page, then click the + Add new data source
. Follow the instructions in the modal window that pops up.
Note that some options in the modal will be greyed out if your project is not on the Enterprise plan.
Edge Impulse allows you to integrate with several cloud storage options. These include:
To connect to an Amazon S3 bucket, you will need to provide:
The bucket name
The bucket region
An access key
A secret key
A path prefix (optional)
If the credentials provided do not have access to the root of the bucket, the prefix is used to specify the path for which the credentials are valid.
Currently only long-term credentials from AWS IAM users are supported; temporary credentials provided to AWS SSO users are not supported.
For Amazon S3 buckets, you will also need to enable CORS headers for the bucket. You can do this in the S3 console by going to your bucket, going to the permissions tab, and then adding the policy defined below to the cross-origin resource sharing section.
CORS policy (console):
Alternatively, you can save the below CORS policy as a cors.json
file (note there are some differences in the structure compared to the JSON above) and add it to your bucket using the AWS S3 CLI.
CORS policy (CLI):
To connect to a Google Cloud Storage bucket, you will need to provide:
The bucket name
The bucket region
An access key
A secret key
A path prefix (optional)
If the credentials provided do not have access to the root of the bucket, the prefix is used to specify the path for which the credentials are valid.
For Google Cloud Storage buckets, you will also need to enable CORS headers for the bucket. You cannot manage CORS policies using the Google Cloud console; you must use the gcloud CLI instead.
CORS policy:
Save the above CORS policy as a cors.json
file and add it to your bucket with the gcloud CLI using the following command:
gsutil is not the recommended CLI tool for Cloud Storage. You may have used this tool before, however, Google now recommends using gcloud storage commands in the Google Cloud CLI instead.
To connect to a Microsoft Azure Blob Storage blob container, you will need to provide:
The blob container name
The storage account name
A secret key
A path prefix (optional)
If the credentials provided do not have access to the root of the blob container, the prefix is used to specify the path for which the credentials are valid.
A CORS policy is not required with Microsoft Azure Blob Storage.
To connect to another (S3-compatible) type of bucket, you will need to provide:
The bucket name
The bucket region
The bucket endpoint
An access key
A secret key
A path prefix (optional)
If the credentials provided do not have access to the root of the bucket, the prefix is used to specify the path for which the credentials are valid.
For other (S3-compatible) buckets, you will also need to enable CORS headers for the bucket. Please refer to your provider documentation for instructions on how to do so.
The items that you will need to set are the following:
Origin: ["https://studio.edgeimpulse.com"]
Method: ["PUT", "POST"]
Header: ["*"]
For cloud storage integration to work as expected, Edge Impulse needs to be provided with credentials that allow read, write, and delete operations. Please refer to your storage provider documentation for specifics.
In order to verify the connection to the cloud storage provider, Edge Impulse will write an .ei-portal-check
file that will be subsequently deleted. Once a bucket is successfully connected to your organization, a green dot will appear in the connected column on the buckets overview page.
No common issues have been identified thus far. If you encounter an issue, please reach out on the forum or, if you are on the Enterprise plan, through your support channels.
Only available on the Enterprise plan
This feature is only available on the Enterprise plan. Review our plans and pricing or sign up for our free Enterprise trial today.