FileTransform​File​Transform

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

yaml
type: "io.kestra.plugin.graalvm.python.FileTransform"
yaml
id: transformPython
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: transformPython
    type: io.kestra.plugin.graalvm.python.FileTransform
    from: "{{ outputs.jsonToIon.uri }}"
    script: |
      if row['id'] == 666:
        # remove un-needed row
        row = None
      else:
        # remove the 'products' column
        row['products'] = None
        # 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.