BigQuery
Consultá BigQuery desde un artefacto. La conexión vive a nivel espacio de trabajo con tus propias credenciales de Google; los artefactos leen a través de ella y nunca ven la clave.
Conectar
Sección titulada «Conectar»Conectores → Agregar → Google BigQuery. El método de conexión es una cuenta de servicio:
- En Google Cloud, creá una cuenta de servicio con los roles BigQuery User y BigQuery Data Viewer sobre el proyecto que querés leer.
- Generá una clave JSON y descargá el archivo.
- Pegá el JSON en el formulario del conector y nombrá la conexión (por ejemplo
warehouse).
También se admite el camino OAuth, pero solo si quien opera la instancia configuró
GOOGLE_CLIENT_ID y GOOGLE_CLIENT_SECRET — en una instancia autohospedada suelen estar
sin configurar, y la cuenta de servicio evita necesitarlos.
Consultar desde un artefacto
Sección titulada «Consultar desde un artefacto»const sdk = await ShareOut.create();const warehouse = sdk.connection('warehouse');
const { data, rowCount, cached } = await warehouse.query(` SELECT country, COUNT(*) AS orders FROM \`my-project.sales.orders\` WHERE created_at >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY) GROUP BY country ORDER BY orders DESC`);fetch() es la misma llamada cuando solo querés las filas:
const rows = await warehouse.fetch('SELECT 1 AS ok');No consultes en cada visita
Sección titulada «No consultes en cada visita»Un tablero que golpea BigQuery en cada carga es lento y te factura por visita. Mejor materializá: corré la consulta en un horario, guardá el resultado y que el artefacto lea la copia guardada:
await warehouse.materialize({ query: 'SELECT country, COUNT(*) AS orders FROM `my-project.sales.orders` GROUP BY country', to: 'dataset:orders_by_country',});El artefacto después lee dataset:orders_by_country sin tocar el warehouse. Combinalo con
un horario para que los números se mantengan al día.
- Las consultas pasan por el Worker (modo proxy). BigQuery no permite llamadas directas desde el navegador, así que no hay camino CORS.
- La facturación es de Google, sobre tu proyecto. Un
SELECT *sobre una tabla grande cuesta dinero real — acotá la consulta. - La credencial se guarda cifrada y nunca llega al navegador.
- Probá una conexión con
POST /v1/workspaces/{id}/connections/testantes de conectarle un tablero.
