@nest-js/gcp
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

Módulo GCP para NestJS

@nest-js/gcp

npm version License: MIT

Este módulo proporciona una integración completa con los servicios de Google Cloud Platform (GCP) para aplicaciones NestJS.

Servicios Incluidos

  • Cloud Storage: Almacenamiento de objetos y archivos
  • Cloud Pub/Sub: Sistema de mensajería y eventos
  • Cloud Scheduler: Programación de tareas
  • Cloud BigQuery: Análisis de datos
  • Cloud Datastore: Base de datos NoSQL
  • Cloud Firestore: Base de datos en tiempo real

Configuración

// .env
GCP_PROJECT_ID=tu-proyecto-id
GCP_CLIENT_EMAIL=tu-client-email
GCP_PRIVATE_KEY=tu-private-key

// app.module.ts
import { GcpModule } from './gcp/gcp.module';

@Module({
  imports: [GcpModule],
})
export class AppModule {}

Ejemplos de Uso

Cloud Storage

@Injectable()
export class AppService {
  constructor(private readonly storageService: StorageService) {}

  async uploadFile(file: Buffer) {
    const url = await this.storageService.uploadFile('mi-bucket', 'archivo.pdf', file);
    return url;
  }
}

Cloud Pub/Sub

@Injectable()
export class AppService {
  constructor(private readonly pubsubService: PubSubService) {}

  async publishEvent(data: any) {
    await this.pubsubService.publishMessage('mi-topic', data);
  }

  async setupSubscription() {
    await this.pubsubService.subscribe('mi-subscription', async (message) => {
      console.log('Mensaje recibido:', message);
    });
  }
}

Cloud Scheduler

@Injectable()
export class AppService {
  constructor(private readonly schedulerService: SchedulerService) {}

  async scheduleJob() {
    await this.schedulerService.createHttpJob({
      name: 'mi-job',
      schedule: '0 * * * *',
      url: 'https://mi-api.com/endpoint',
      httpMethod: 'POST',
      body: { data: 'ejemplo' }
    });
  }
}

Contribución

Si deseas contribuir al desarrollo de este módulo, por favor revisa las guías de contribución y envía tus pull requests.

Licencia

MIT

Package Sidebar

Install

npm i @nest-js/gcp

Weekly Downloads

4

Version

0.0.2

License

MIT

Unpacked Size

251 kB

Total Files

60

Last publish

Collaborators

  • yasniel1408-myorg-123421341