UNPKG

@arcane-utils/ingestion

Version:

Ingestion utilities for Arcane

5 lines 2.04 kB
var c=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var o in t)c(e,o,{get:t[o],enumerable:!0})},R=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of g(t))!A.call(e,i)&&i!==o&&c(e,i,{get:()=>t[i],enumerable:!(s=w(t,i))||s.enumerable});return e};var v=e=>R(c({},"__esModule",{value:!0}),e);var L={};E(L,{HISTORICAL_TABLE_SCHEMA:()=>p,getHistoricalTableName:()=>m,storeExecutionDetails:()=>H});module.exports=v(L);var d=require("@arcane-utils/bigquery"),m=e=>`historical_${e}`,p=[{name:"timestamp",type:"TIMESTAMP"},{name:"invoker",type:"STRING"},{name:"headers",type:"STRING"},{name:"additional_info",type:"STRING"}],_=async(e,t)=>{let o=process.env.HISTORICAL_DATASET;if(!o)throw new Error("HISTORICAL_DATASET environment variable is not defined");await t.dataset(o).createTable(e,{schema:p})},H=async(e,t,o,s,i,T,f,n,u,y)=>{let r=m(t),I=`${process.env.GCP_PROJECT}.${process.env.HISTORICAL_DATASET}.${r}`,S={timestamp:new Date().toISOString(),invoker:y??null,headers:(s??[]).map(a=>a.key).join(","),additional_info:JSON.stringify({monitoringId:o,jobRows:i,jobId:T,fileHash:f})},l={query:` INSERT INTO \`${I}\` (timestamp, invoker, headers, additional_info) VALUES (@timestamp, @invoker, @headers, @additional_info) `,location:"EU",labels:u,params:{...S},types:{invoker:"STRING"}};try{let[a]=await e.createQueryJob(l);await(0,d.getJobResult)(a.id,"storeExecutionDetails",e,n),n.info(`Row inserted into ${r} successfully.`)}catch(a){if(a.message.includes("Not found")){n.info("Historical Table not found. Creating it..."),await _(r,e),n.info(`Table ${r} created. Retrying insert...`);let[b]=await e.createQueryJob(l);await(0,d.getJobResult)(b.id,"storeExecutionDetails",e,n),n.info(`Row inserted into ${r} after table creation.`)}else console.error("DML insert failed:",a)}};0&&(module.exports={HISTORICAL_TABLE_SCHEMA,getHistoricalTableName,storeExecutionDetails}); //# sourceMappingURL=history.cjs.map