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.

Unit count

Number of records or entities processed by the Python script. This includes both modified and filtered rows from the input file.