Sync From S3-Compatible Storage

Connect a Datature Vi dataset to any S3-compatible object store, including Wasabi, Backblaze B2, Cloudflare R2, and DigitalOcean Spaces. Read-only sync using access keys and an HTTPS endpoint.

If your storage provider speaks the S3 API, Datature Vi can sync from it. The S3-Compatible connector covers Wasabi, Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Linode Object Storage, IBM Cloud Object Storage, and any other service that implements ListBucket, GetObject, and GetBucketLocation. The setup is the same in every case: a scoped access key, an HTTPS endpoint, and (sometimes) a region or a path-style toggle.

Before You Start
  • A paid Datature Vi account. External bucket sync is not available on the free tier.
    • A bucket on an S3-compatible service that is reachable from the public internet over HTTPS.
    • A read-only access key pair scoped to the bucket.
    • The HTTPS endpoint URL for your provider (each service publishes the right endpoint in its documentation).
1

Open the Explorer tab

Open the Explorer tab

In the left sidebar, click the Explorer tab on your dataset. This is where the synced assets will appear after the connection is set up.

You should see
Synced images appear in the dataset Explorer. The asset count in the header reflects the objects pulled from your S3-compatible bucket.

Synced images appear in the dataset Explorer. The asset count in the header reflects the objects pulled from your S3-compatible bucket.

When to use this connector

Use the S3-Compatible connector when your storage provider is not Amazon S3, MinIO, GCS, or Azure Blob, but exposes an S3-compatible API.

Common S3-compatible providers

Provider
Path style?
Notes

If you run MinIO, use the dedicated MinIO connector instead. The MinIO setup uses the same UI but documents MinIO-specific policy syntax.

Step 1: Create a scoped read-only access key

Every S3-compatible service has its own console for issuing keys, but the principle is the same: create a key pair that can list objects in one bucket and read those objects, and nothing else.

Vi needs three permissions:

  • s3:ListBucket
  • s3:GetObject
  • s3:GetBucketLocation

Most providers expose a built-in "Read-Only" policy that covers these actions. For providers with policy JSON support, paste this minimal policy and replace your-bucket-name:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::your-bucket-name",
                "arn:aws:s3:::your-bucket-name/*"
            ]
        }
    ]
}

Generate the key pair after the policy is attached. Copy both the access key ID and the secret access key now; most providers do not show the secret again after the dialog closes.

Step 2: Enter the bucket details

Open the dataset you want to sync into, then walk through the wizard.

Bucket details

Name
Type
Description
Required
Default

The advanced options are hidden by default. Click Show Advanced Options if you need a folder prefix, a region, or path style.

Click Next to continue.

Step 3: Enter the access credentials

On the Access Credentials tab, paste the values from the user you created in Step 1.

Access credentials

Name
Type
Description
Required
Default

Both values are encrypted at rest inside Vi. The key needs read and list permissions on the bucket; nothing more.

Click Next. Vi tries the connection.

Step 4: Confirm the connection status

The Connection Status step shows whether Vi can list and read objects.

Connection status outcomes

Status
Meaning
What to do

Step 5: Sync your assets

Choose Sync Now to run the first sync immediately, or Sync Later to set up the connection without syncing. If you pick Sync Now, Vi walks through three more screens before the sync starts in earnest.

  1. Preview Files to Sync. Vi scans the bucket prefix and shows the file count alongside a sample of object paths. Confirm the preview matches what you expect, then click Sync.
  2. Sync Started. A confirmation appears letting you know the job is running in the background. Click I Understand to dismiss the dialog; the sync continues even after you close the wizard or the browser tab.
  3. Track progress. Open the Connected Bucket dropdown in the top-right of the Explorer to see the connection name, status, provider, bucket, prefix, asset count, and a live progress bar while assets are retrieved.

The first sync takes 5 to 40 minutes depending on the bucket size. Progress is also visible in the Connection Manager tab.

Asset requirements

S3-compatible syncs use the same metadata pipeline as MinIO, so video files have a slightly wider set of accepted MP4 major brands than the AWS, Azure, and GCS connectors.

S3-compatible asset requirements

Asset type
Requirement

Annotations are not part of the bucket sync. Vi reads only image and video metadata from your S3-compatible bucket. If you have existing labels in COCO, YOLO, Pascal VOC, CSV, or Vi JSONL, upload them directly to Vi once the assets finish syncing.

Provider-specific tips

Troubleshooting

Next steps


Did this page help you?