cloudflare-r2-edge
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

Cloudflare R2 Edge

NPM version

This is a TypeScript library that provides an interface to interact with Cloudflare's R2 Storage. It allows you to generate signed URLs, retrieve files, and upload files or blobs to a given key.

Requirements

This library either requires an edge environment (like Vercel Edge functions, or CloudFlare Workers), or Node.js 20 or higher.

Installation

You can install this library using pnpm:

pnpm i cloudflare-r2-edge

Usage

First, import the CloudflareR2Client class from the library:

import { CloudflareR2Client } from 'cloudflare-r2-edge'

Then, create a new instance of the client with your AWS access key ID, secret access key, account ID, and bucket:

const client = new CloudflareR2Client({
  // Cloudflare AWS Credentials
  accessKeyId: 'your-access-key-id',
  secretAccessKey: 'your-secret-access-key',
  // Cloudflare Account ID
  accountId: 'your-account-id',
  // Cloudflare Bucket name
  bucket: 'your-bucket',
})

Generate a Signed URL

You can generate a signed URL for a given key:

const signedUrl = await client.getSignedUrl('your-key')

You can also specify an expiration time for the signed URL:

const signedUrl = await client.getSignedUrl('your-key', {
  expires: 60 * 60 * 24, // 24 hours
})

Retrieve a File

You can retrieve a file for a given key:

const file = await client.get('your-key')

Upload a File or Blob

You can upload a file or a blob to a given key:

await client.put('your-key', yourFileOrBlob)

Contributing

Contributions are welcome. Please submit a pull request or create an issue to discuss the changes you want to make.

License

This project is licensed under the MIT License.

Dependencies (1)

Dev Dependencies (10)

Package Sidebar

Install

npm i cloudflare-r2-edge

Weekly Downloads

8

Version

0.0.2

License

MIT

Unpacked Size

11.6 kB

Total Files

7

Last publish

Collaborators

  • maccman