@shan-sapore/storage-gcs
v0.1.0
Published
Shared Google Cloud Storage helpers for Shan-Sapore services
Maintainers
Readme
@shan-sapore/storage-gcs
Shared Google Cloud Storage helpers for Shan-Sapore services.
Install
npm install @shan-sapore/storage-gcsUsage
Create client
import { createGcsClient } from '@shan-sapore/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,
);Signed write URL
const writeUrl = await gcs.signWriteUrl(bucket, objectPath);Defaults
- Read TTL: 1 hour
- Thumb read TTL: 4 hours
- Write TTL: 15 minutes
Env expectations
- GOOGLE_APPLICATION_CREDENTIALS
- GCS_BUCKET
- GCLOUD_PROJECT
Smoke test
GCS_BUCKET=your-bucket npm run smoke