External Storage Integrations
Use Buzstorage as a unified management, transformation, and distribution engine on top of your existing cloud storage providers without migrating a single file.
Amazon S3
Connect any AWS S3 bucket across any global region. Zero egress fees when routed through Buzstorage Edge.
Google Cloud Storage
HMAC Interoperability and Service Account JSON key integration for multi-region GCS buckets.
Azure Blob Storage
Connect Microsoft Azure Storage Accounts via SAS Tokens or Shared Key Authentication.
DigitalOcean Spaces
High-speed integration with DigitalOcean Spaces (NYC3, AMS3, SGP1, FRA1).
Any S3-Compatible Storage
Custom S3 API endpoint support for MinIO, Wasabi, Backblaze B2, Cloudflare R2, and Ceph.
Storage Provider Integration Code Examples
1. Connecting Amazon S3
s3.amazonaws.comMount your existing Amazon S3 bucket. Buzstorage caches media at edge points and delivers on-the-fly image transformations and 4K video streaming without modifying S3 objects.
import { BuzstorageClient } from '@buzstorage/sdk';
const buz = new BuzstorageClient({ apiKey: process.env.BUZSTORAGE_API_KEY });
// Register Amazon S3 Bucket Provider
const s3Provider = await buz.storage.registerProvider({
provider: 'amazon-s3',
name: 'Production S3 Asset Vault',
credentials: {
bucketName: 'app-media-masters',
region: 'us-west-2',
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
},
settings: {
readThroughCache: true, // Cache S3 objects at global edge nodes
autoWebPTransform: true, // Deliver WebP/AVIF dynamically
},
});2. Connecting Google Cloud Storage (GCS)
storage.googleapis.comConnect multi-region GCS buckets using HMAC Interoperability keys:
const gcsProvider = await buz.storage.registerProvider({
provider: 'google-cloud-storage',
name: 'GCS Enterprise Vault',
credentials: {
bucketName: 'global-video-library',
hmacAccessId: process.env.GCS_HMAC_ACCESS_ID,
hmacSecret: process.env.GCS_HMAC_SECRET,
},
});3. Connecting Azure Blob Storage
blob.core.windows.netconst azureProvider = await buz.storage.registerProvider({
provider: 'azure-blob',
name: 'Azure Master Media',
credentials: {
accountName: 'mystorageaccount',
containerName: 'media-container',
accountKey: process.env.AZURE_STORAGE_ACCOUNT_KEY,
},
});4. DigitalOcean Spaces & Any S3-Compatible Storage
Custom S3 EndpointsConnect DigitalOcean Spaces, MinIO, Wasabi, Backblaze B2, Cloudflare R2, or self-hosted Ceph clusters:
// DigitalOcean Spaces Example
const doSpacesProvider = await buz.storage.registerProvider({
provider: 's3-compatible',
name: 'DigitalOcean NYC3 Space',
credentials: {
endpoint: 'https://nyc3.digitaloceanspaces.com',
bucketName: 'agency-assets-space',
accessKeyId: process.env.DO_SPACES_ACCESS_KEY,
secretAccessKey: process.env.DO_SPACES_SECRET_KEY,
region: 'nyc3',
},
});