How Ridge works with Cloudflare R2
What you can do
- Read a single object (e.g.
r2://bucket/path/file.parquet) or a glob - Ingest new files incrementally as they land
- Refresh on a schedule with standard cron expressions
What you'll need
A few connection details link Ridge to your bucket. Collect these before you start.
Set up the connection
1 Create a Connection
On the Data page, click New Connection and choose Cloudflare R2 as the type. Enter the credentials you gathered, then save.
- Access Key ID and Secret Access Key
- Account ID — your Cloudflare account id
2 Create a Dataset
Back on the Data page, click New, select source Connection, and pick the R2 connection you just created. A Data Set points at a path and can carry its own refresh schedule.
3 Provide the R2 URI
Give Ridge the object path — a single file (r2://bucket/path/file.parquet) or a glob.
4 Schedule ingestion
Set an ingestion schedule with standard cron syntax, then save. Ridge reads the matching files and stores the results, ready for analysis.
Best practices
A few habits keep ingestion secure and efficient.
Supported features & limitations
Troubleshooting
Most connection issues fall into four buckets. Expand the one that matches your error.
R2 speaks the S3 API, so Ridge maps its errors to the S3 phrasings.
Invalid credentials
401, "InvalidAccessKeyId", "SignatureDoesNotMatch", "authentication failure", "invalid or missing credentials"
Your access key or secret is wrong. Re-enter the R2 access key ID and secret.
Insufficient permissions
403, "Access Denied", "AccessDenied"
The token lacks object permissions. Scope the R2 token to read the bucket and path.
Resource not found
404, "NoSuchBucket", "NoSuchKey", "no files found", "does not exist"
The bucket, key, or path is wrong. Fix the R2 URI.
Network unreachable
"could not resolve host", "could not establish connection", "timed out", "connection refused"
The endpoint is unreachable. Check the account id and your egress allowlist.
.avif)