@carichat/storage-gcs
v0.1.1
Published
Shared Google Cloud Storage helpers for Carichat services
Readme
@carichat/storage-gcs
Shared Google Cloud Storage helpers for Carichat services.
Install
npm install @carichat/storage-gcsUsage
Create client
import { createGcsClient } from '@carichat/storage-gcs';
const gcs = createGcsClient({
projectId: process.env.GCLOUD_PROJECT,
});Upload a buffer
await gcs.uploadBuffer({
bucket: process.env.GCS_BUCKET!,
path: `users/${userId}/images/${fileName}`,
buffer: file.buffer,
contentType: file.mimetype,
});Signed read URL batch with caching
const bucket = process.env.GCS_BUCKET!;
const urls = await gcs.getOrSignReadUrls(
bucket,
imagePaths,
gcs.defaultReadTtlSeconds,
5 * 60,
);
// urls is a map: { [path]: signedUrl }Signed write URL
const writeUrl = await gcs.signWriteUrl(bucket, objectPath);Defaults
- Read TTL: 1 hour
- Thumb read TTL: 4 hours
- Write TTL: 15 minutes
You can override defaults by passing values into createGcsClient() or per call.
Env expectations
GOOGLE_APPLICATION_CREDENTIALS(ADC)GCS_BUCKETGCLOUD_PROJECT
Smoke test
GCS_BUCKET=your-bucket npm run smoke