AWS S3

AWSS3StorageClient

import { AWSS3StorageClient } from "@cloud-push/cloud";

const storageClient = new AWSS3StorageClient({
  accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
  bucketName: process.env.AWS_BUCKET_NAME!,
  region: process.env.AWS_REGION!,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
});

Examples

import { defineConfig } from "@cloud-push/cli";
import { AWSS3StorageClient, LowDbClient } from "@cloud-push/cloud";

export default defineConfig(() => ({
  loadClients: () => {
    
    const storageClient = new AWSS3StorageClient({
      accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
      bucketName: process.env.AWS_BUCKET_NAME!,
      region: process.env.AWS_REGION!,
      secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
    });

    const dbClient = new LowDbClient({
      downloadJSONFile: () => storageClient.getFile({ key: "cursor.json" }),
      uploadJSONFile: (file: Uint8Array) =>
        storageClient.uploadFile({ key: "cursor.json", file }),
    });

    return {
      storage: storageClient,
      db: dbClient,
    };
  },
}));