Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

292
Visualizações
Consumo de BigQuery API Client a través de middleware y ubicación de archivos secrets.json

Quiero usar una carpeta de secretos para almacenar mi bigquery api client secrets json y usar la biblioteca de cliente de BigQuery para el nodo para realizar consultas a la base de datos. Pero en la documentación , muestra la forma de cargar las credenciales desde un archivo json y no directamente.

Estoy usando mecanografiado para consultar una tabla y agregar una fila. En NEXT js, estoy un poco confundido acerca de cómo acceder a la ruta de una carpeta de secretos que no estará expuesta al lado del cliente y permanece en mi middleware.

Aquí está la función para el mismo:

 import type { NextApiHandler } from 'next'; import axios from 'axios'; import { BigQuery } from '@google-cloud/bigquery'; import bqSecrets from '../../../bigquery/keys.json'; const options = { keyFilename: '../../../secrets/keys.json', projectId: 'XXXXXXXXXXXXXXXXXXXXXX', }; const bigquery = new BigQuery(options); const submitUserData: NextApiHandler = async (request, response) => { const { geoData, googleData, post, userRole } = request.body; if (!post) response.json({ error: false, msg: 'Not Required' }); else { delete googleData.isAuthenticated; try { const rep = await bigquery .dataset('stackconnect') .table('googleoAuth') .insert([requestPayload]); console.log(await rep); response.json({ error: false, msg: 'Success' }); } catch (e) { console.log('Error = ', e); response.json({ error: true, msg: 'Error' }); } } };

Pero esto arroja un error que dice: File not Found . ¿Alguien puede ayudarme a identificar cómo ubicar el archivo en NEXT o cómo puedo pasar directamente los datos JSON usando BQ Node Client?

Además, quiero saber en NEXT, ¿cuál es el lugar ideal para almacenar secretos que no están expuestos al lado del cliente?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Después de profundizar en el código fuente, me di cuenta de que hay un atributo llamado credenciales, por lo que pude hacerlo funcionar haciendo la siguiente modificación:

 import bqSecrets from '../../../bigquery/keys.json'; const options = { credentials: bqSecrets, projectId: 'project_id', }; const bigquery = new BigQuery(options);

Espero que esto ayude a cualquiera que busque inyectar directamente las credenciales json en el cliente de nodo de BigQuery.

Además, todavía no estoy muy seguro acerca de la estructura de archivos de NEXT, ya que todavía no sé si otros activos además de los ubicados en la carpeta pública están expuestos al lado del cliente o no.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda