Esta prueba de concepto muestra cómo integrar Google Cloud Storage (GCS) y BigQuery en una aplicación Node.js utilizando las credenciales de una cuenta de servicio.
- Node.js (v14 o superior)
- NPM (v6 o superior)
- Cuenta de Google Cloud con permisos de acceso a Google Cloud Storage y BigQuery
- Proyecto de Google Cloud con acceso a las APIs de Google Cloud Storage y BigQuery
-
Habilitar las APIs de Google Cloud
Para utilizar Google Cloud Storage y BigQuery, debes habilitar las siguientes APIs en tu proyecto de Google Cloud:
-
Ve a la Google Cloud Console.
-
Selecciona tu proyecto.
-
Dirígete a APIs & Services > Library.
-
Busca y habilita las siguientes APIs:
- Google Cloud Storage JSON API
- BigQuery API
-
Crear una Cuenta de Servicio y Generar Credenciales
Para que tu aplicación pueda acceder a GCS y BigQuery, necesitas crear una cuenta de servicio y descargar el archivo de credenciales JSON.
- En la Google Cloud Console, ve a IAM & Admin > Service Accounts.
- Haz clic en Create Service Account.
- Proporciona un nombre para la cuenta de servicio (por ejemplo, my-storage-bigquery-service-account)
- Haz clic en Create and Continue.
- Asigna los siguientes roles a la cuenta de servicio:
- Storage Admin (para acceso completo a Google Cloud Storage)
- BigQuery Data Editor (para acceso completo a BigQuery)
- Haz clic en Continue y luego en Done.
- En la lista de cuentas de servicio, selecciona la cuenta que acabas de crear.
- Ve a la pestaña Keys y haz clic en Add Key > Create New Key.
- Selecciona JSON como tipo de clave y haz clic en Create.
- Guarda el archivo JSON descargado en un lugar seguro. No compartas este archivo, ya que contiene información confidencial de acceso.
-
Configurar las Credenciales en tu Aplicación
- Coloca el archivo JSON de credenciales en los directorios:
src/bigquery/credentials.jsonstc/gcp-storage/credentials.json
-
Clonar el Repositorio
Clona este repositorio en tu máquina local:
$ git clone https://github.com/pablo-bilvao/gcp-upload-example $ cd gcp-upload-example -
Instalar Dependencias
Instala las dependencias necesarias usando NPM:
$ npm install
Ejecuta la aplicación:
$ npm startSe puede probar ejecutando los requests que se encuentran en el directorio src/requests
Para poder ejecutarlos directamente desde el VS Code hay que instalar la extención de REST Client
Siéntete libre de crear un Pull Request o abrir un Issue para mejorar esta prueba de concepto.
Este proyecto está bajo la licencia MIT.