-
Notifications
You must be signed in to change notification settings - Fork 15
S3 Import
Chris & Mike edited this page Mar 7, 2026
·
4 revisions
Migrate data from Amazon S3, Google Cloud Storage, or S3-compatible storage providers to Cloudflare R2 using the Super Slurper API.
The S3 Import feature enables you to migrate existing data from cloud storage providers to R2 without downloading and re-uploading files. Cloudflare's Super Slurper handles the migration on their infrastructure.
- Multi-Provider Support - AWS S3, Google Cloud Storage, and S3-compatible endpoints
- Progress Tracking - Monitor active migrations with real-time status
- Job Management - List, view, and abort migration jobs
- Dashboard Fallback - Link to Cloudflare Dashboard if API creation fails
- Source Storage Credentials: Access Key ID and Secret Access Key with read permissions
- Destination R2 Bucket: Must exist before starting migration
-
AWS IAM Policy (for S3): Minimum permissions:
s3:Get*ands3:List*
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:ListBucket",
"s3:ListBucketVersions"
],
"Resource": [
"arn:aws:s3:::YOUR-BUCKET-NAME",
"arn:aws:s3:::YOUR-BUCKET-NAME/*"
]
}
]
}- Click "Import from S3" in the bucket management toolbar
- Select the "New Migration" tab
- Fill in the source configuration:
- Storage Provider: AWS S3, Google Cloud Storage, or S3-Compatible
- Source Bucket Name: Name of the bucket to migrate from
- Access Key ID and Secret Access Key: Credentials with read access
- Region: For AWS S3, select the bucket's region
- Custom Endpoint: Required for S3-compatible providers
- Bucket Subpath: Optional prefix to migrate only specific files
- Select the Destination R2 Bucket
- Optionally enable "Overwrite existing objects"
- Click "Start Migration"
- Click the "Active Jobs" tab
- View progress: objects copied, skipped, failed, and bytes transferred
- Click "Abort" to stop a running job
The "History" tab shows completed, failed, and aborted migrations.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/s3-import/jobs |
Create a new migration job |
GET |
/api/s3-import/jobs |
List all migration jobs |
GET |
/api/s3-import/jobs/:jobId |
Get job status and details |
POST |
/api/s3-import/jobs/:jobId/abort |
Abort a running job |
GET |
/api/s3-import/dashboard-url |
Get Cloudflare Dashboard URL |
{
"sourceBucketName": "my-s3-bucket",
"sourceAccessKeyId": "AKIA...",
"sourceSecretAccessKey": "...",
"sourceRegion": "us-east-1",
"sourceProvider": "aws",
"destinationBucketName": "my-r2-bucket",
"bucketSubpath": "optional/prefix/",
"overwriteExisting": false
}- Maximum Object Size: Objects larger than 1 TB are skipped
- Credentials: Passed directly to Cloudflare, not stored locally
- Rate Limits: Subject to Cloudflare API rate limits
- Verify credentials have proper permissions
- Check the source bucket name and region
- Use the "Open Dashboard" button to create jobs via Cloudflare Dashboard
- Files larger than 1 TB are automatically skipped
- Check source bucket permissions for specific files
- Verify network connectivity to source storage
- For S3-compatible providers, ensure the endpoint URL is correct
📖 See also:
- Home - Documentation overview
- Quick Start Guide - Get up and running in minutes
- Installation & Setup - Complete deployment guide
- Configuration Reference - Environment variables and settings
- Upgrade Guide - Database schema migrations
- Bucket Management - Create, rename, delete buckets
- Object Lifecycles - Automate expiration and IA transitions ⭐ NEW
- Local Uploads - Faster uploads via nearby edge storage ⭐ NEW
- Job History - Track bulk operations with audit trail ⭐ NEW
- Webhooks - Configure HTTP notifications for events ⭐ NEW
- AI Search - Semantic search with Cloudflare AI
- S3 Import - Migrate from AWS S3 to R2 ⭐ NEW
- Cross-Bucket Search - Search across all buckets with filters
- File Operations - Upload, download, move, copy, delete files
- Folder Management - Organize files hierarchically
- Signed URLs & Sharing - Generate secure shareable links
- Advanced Filtering - Filter by extension, size, and date
- Development Guide - Local setup and development workflow
- API Reference - Complete endpoint documentation
- Architecture Overview - Technical stack and design
- Authentication & Security - Zero Trust implementation
- JWT Validation - JWT token validation and verification
- Troubleshooting - Common issues and solutions
- FAQ - Frequently asked questions
- Roadmap - Planned features and enhancements