Estoy tratando de insertar, eliminar, buscar y actualizar en google bigquaey usando el nodo js. He seguido todos los documentos en Google podría. Pero no donde se menciona, cómo conectar - Así que he creado esto, -
Cómo conectar GCP BigQuery con NodeJS. Soy nuevo aquí. Cualquier ayuda funcionará.
el código que he escrito -
const {BigQuery} = require('@google-cloud/bigquery'); const mainFunction = () => { insertIntoBigQuery("John", "john@gmail.com", "+1-23232344231"); } async function insertIntoBigQuery(name, email, phone) { // const insertIntoBigQuery = async(name, email, phone) => { const bigqueryClient = new BigQuery(); // The SQL query to run const sqlQuery = "INSERT INTO `p4tyu78.Backend_testing.Test1` VALUES ("+name+ "," +email+","+ phone+")"; const options = { query: sqlQuery, // Location must match that of the dataset(s) referenced in the query. location: 'US', }; // Run the query const [rows] = await bigqueryClient.query(options); console.log('Rows:'); rows.forEach(row => console.log(`${row.subject}: ${row.num_duplicates}`)); } const updateIntoBigQuery = () => { } const deleteFromBigQuery = () => { } const searchFromBigQuery = async() => { const bigqueryClient = new BigQuery(); // The SQL query to run const sqlQuery = "SELECT * from `p4tyu78.Backend_testing.Test1`"; const options = { query: sqlQuery, // Location must match that of the dataset(s) referenced in the query. location: 'US', }; // Run the query const [rows] = await bigqueryClient.query(options); console.log('Rows:'); rows.forEach(row => console.log(`${row.subject}: ${row.num_duplicates}`)); } mainFunction();Olvídese de la clave API, no puede usarla para BigQuery (y aún funciona con API heredadas, pero muy pocas). Debe usar el mecanismo OAuth2 para autenticarse.
Cuando usa una API de Google Cloud, debe agregar un token de acceso en el encabezado de su solicitud de API. Pero en su caso, no realiza directamente estas llamadas a la API, usa la biblioteca del cliente.
Tiene una descripción de la autenticación en la documentación . Para ir más rápido, en el entorno de Google Cloud, puede confiar en la cuenta de servicio del servicio. En algún servicio puedes personalizarlos. También puede usar su propia credencial, en su computadora, y un archivo de clave de cuenta de servicio en una plataforma externa (en las instalaciones, en otro proveedor de nube).
Entonces, en su caso, inicia la biblioteca de bigquery así const bigqueryClient = new BigQuery(); . Eso significa que confía en la credencial del entorno para conectarse a BigQuery.
En su entorno, para usar su propia credencial, puede usar gcloud CLI y ejecutar esto
gcloud auth application-default loginInicia sesión y disfruta!!
Pero la seguridad es un largo camino en GCP, es solo el comienzo, vuelva a preguntar más tarde si tiene dificultades en sus elecciones.