Connect Amazon S3
Use the S3 connector for Amazon S3 or compatible object storage such as MinIO, Cloudflare R2, Alibaba Cloud OSS or Tencent Cloud COS. You can import a file as a local snapshot or, when your plan allows it, link a Parquet object without copying its rows.
Before you start
- You must be a workspace Owner or Collaborator.
- Your plan must include the S3 connector.
- Create a dedicated read-only credential. The usual minimum permissions are
s3:ListBucketands3:GetObject. - Note the region, bucket name and object key or prefix.
- For compatible storage, also note its HTTPS endpoint and required addressing style.
Do not use a root or write-enabled cloud credential. The Secret Access Key is encrypted and is not shown again.
1. Create the connection
- Open Data.
- Choose Add → Connection → AWS S3.
- Enter:
- Region
- Access Key ID
- Secret Access Key
- an optional default Bucket
- an optional custom Endpoint
- For a custom endpoint, choose the addressing style:
- Auto detect is recommended.
- Path style is normally used by MinIO and R2.
- Virtual-host style is required by Alibaba Cloud OSS and Tencent Cloud COS.
- Save the connection.
When editing an existing connection, leave the Secret Access Key blank to keep it. Enter a value only when rotating the credential.
2. Choose and import an object
- Find the S3 connection and choose Import rows.
- Enter the bucket. It is prefilled when the connection has a default bucket.
- Enter a prefix to browse a folder-like section of the bucket, or enter the exact object key.
- Choose a supported object:
- CSV
- TSV
- XLSX
- JSON
- Parquet
- Import it and review the proposed metrics.
If a large bucket does not show the expected file, use a narrower prefix. Object browsing scans a bounded result set rather than every key in an unlimited bucket.
Snapshot import or zero-copy
Snapshot import copies rows into the workspace query engine. Refresh downloads the same bucket and key again and replaces the previous snapshot.
External (zero-copy) leaves rows in S3 and stores only the metadata needed to query them. It:
- requires the live S3 feature shown in the plan interface;
- supports Parquet only;
- reads the current object at query time;
- does not support local cleaning, append or re-upload.
Use snapshot mode when you need local transformations or when the source is CSV, TSV, XLSX or JSON. Use zero-copy when Parquet must remain in your bucket and live reads are preferred.
Refresh and changes
For snapshot datasets, refresh re-downloads the same object. If refresh fails, the last successful snapshot remains available.
For zero-copy datasets, refresh validates reachability, schema and metadata rather than copying rows. Replacing a Parquet object with an incompatible schema can stop queries, so publish source changes carefully.
Troubleshooting
Invalid Access Key ID
Check for a typo or a deleted key.
Signature does not match
Re-enter the Secret Access Key and verify the region, endpoint and addressing style.
Access denied
The credential is valid but lacks bucket or object permission. Check IAM and bucket policies for ListBucket and GetObject.
Bucket or object not found
Check the bucket name, prefix and exact object key. Object keys are case-sensitive.
No supported objects appear
Narrow the prefix and confirm that the file extension is .csv, .tsv, .xlsx, .json or .parquet.
Zero-copy is unavailable
Confirm that the feature is included in the current plan and that the selected object is Parquet.