n8n-nodes-cloudflare-r2-s3
v0.1.1
Published
n8n community node for Cloudflare R2 bucket, folder, and object operations
Downloads
321
Maintainers
Readme
n8n-nodes-cloudflare-r2-s3
An n8n community node for Cloudflare R2. It mirrors the bucket, folder, and file operations exposed by n8n's built-in generic S3 node while using R2-compatible parameters and the AWS SDK for JavaScript v3.
What “v2” means for R2
Cloudflare R2 exposes an S3-compatible API; there is no blanket “R2 S3 API v2.” The relevant v2 operation is ListObjectsV2, which this node uses for object search/listing, folder listing, and recursive folder deletion. The implementation uses the current modular AWS SDK v3 (@aws-sdk/client-s3).
R2 deliberately does not implement several AWS S3 features and headers, including ACLs, requester-pays, AWS KMS server-side encryption, object locking, and object tagging. This node does not show controls that R2 would reject.
Primary references:
- Cloudflare R2 S3 API compatibility
- Cloudflare R2 S3 credentials
- n8n built-in S3 node source
- n8n community node installation
Operations
| Resource | Operations | | --- | --- | | Bucket | Create, Delete, Get Many, Search Objects | | Folder | Create, Delete recursively, Get Many | | File | Copy, Delete, Download, Get Many, Upload |
Folder operations use zero-byte object markers and / prefixes, matching the convention used by S3-compatible tools. Recursive deletion is paginated and sends DeleteObjects batches of at most 1,000 keys.
Credentials
Create an R2 API token in the Cloudflare dashboard and enter:
- S3 Endpoint (for example,
https://<ACCOUNT_ID>.r2.cloudflarestorage.com) - Access Key ID
- Secret Access Key
- Region (
autofor Cloudflare R2)
Like n8n's built-in S3 credential, this credential does not perform an account-wide bucket-list test when saved. Bucket-scoped keys are validated naturally when the workflow runs an operation against an allowed bucket.
For jurisdiction-specific buckets, paste the corresponding endpoint supplied by Cloudflare. The endpoint includes the Cloudflare account ID. The standard endpoint format is:
https://<ACCOUNT_ID>.r2.cloudflarestorage.comBuild and verify
npm install
npm run build
npm pack --dry-runInstall in self-hosted n8n
Publish the package to npm, or build a tarball with npm pack, then follow n8n's community node installation flow. Restart n8n after installation. This package uses an external runtime dependency and is intended for self-hosted n8n; it is not marked as n8n Cloud-compatible.
To publish from the repository, sign in with npm login, then run:
npm publishThe prepublishOnly script automatically runs the production TypeScript build before npm publishes the package.
