Connecting to Cloudflare R2

Ridge delivers AI-enabled embedded analytics and data agents so product teams can build quickly, prove value, and win the customer.

Time to read
5 min read
|
For Cloudflare Admins
|
Object storage
OVERVIEW

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
Gather credentials

What you'll need

A few connection details link Ridge to your bucket. Collect these before you start.

Connect in Ridge

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.

Recommendations

Best practices

A few habits keep ingestion secure and efficient.

Reference

Supported features & limitations

Help

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.