0.0.2 • Published 7 months ago

cloudflare-r2-edge v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

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.

0.0.2

7 months ago

0.0.1

7 months ago