0.0.2 • Published 7 months ago
@nest-js/gcp v0.0.2
Módulo GCP para NestJS
@nest-js/gcp
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
0.0.2
7 months ago