Estoy usando la plantilla de PubSub a Elastic Dataflow y necesito hacer algo de enriquecimiento, como el análisis de XML.
Tengo dos problemas:
Cualquier orientación sería apreciada.
Gracias
Yo estaba casi allí. No estaba construyendo el archivo js único correctamente.
src/index.js
var convert = require("xml-js"); module.exports.data_process = function (inJson) { var xml = "<XML CONTENT>"; var result1 = convert.xml2json(xml, { compact: true, spaces: 4 }); var parsed = JSON.parse(result1); var some_field = parsed.some.field var obj = JSON.parse(inJson); obj.some_field = some_field; return JSON.stringify(obj); };webpack.config.js
const path = require("path"); module.exports = { entry: "./src/index.ts", mode: "production", output: { filename: "main.js", path: path.resolve(__dirname, "dist"), library: "xmllib", }, };compilar paquete web
npx webpack --config webpack.config.js
Luego agregue al final de main.js
function process(d) { c = xmllib.data_process(d); return c; }Ahora puede usar "proceso" como su nombre de función udf de flujo de datos.
Solución basada en este artículo: https://blog.salrashid.dev/articles/2020/bq-udf-protobuf/