FileTransform​File​Transform

Transform a file from Kestra with a JavaScript script using the GraalVM scripting engine.

yaml
type: "io.kestra.plugin.graalvm.js.FileTransform"
yaml
id: transformJs
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.core.http.Download
    uri: https://dummyjson.com/carts/1
  - id: jsonToIon
    type: io.kestra.plugin.serdes.json.JsonToIon
    from: "{{outputs.download.uri}}"
  - id: transformJs
    type: io.kestra.plugin.graalvm.js.FileTransform
    from: "{{ outputs.jsonToIon.uri }}"
    script: |
      if (row['id'] === 666) {
        // remove un-needed row
        row = null
      } else {
        // remove the 'products' column
        row['products'] = null;
        // add a 'totalItems' column
        row['totalItems'] = row['totalProducts'] * row['totalQuantity']
      }
Properties

Source file containing rows to transform.

Can be a Kestra internal storage URI, a map or a list.

The script to evaluate

Number of concurrent parallel transformations to execute.

Take care that the order is not respected if you use parallelism.

Format uri

URI of a temporary result file.

The file will be serialized as an ION file.