FileTransform
Transform a file from Kestra with a Python script using the GraalVM scripting engine.
yaml
type: "io.kestra.plugin.graalvm.python.FileTransform"
Examples
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
from *Requiredstring
Source file containing rows to transform.
Can be a Kestra internal storage URI, a map or a list.
script *Requiredstring
The script to evaluate
concurrent integerstring
Number of concurrent parallel transformations to execute.
Take care that the order is not respected if you use parallelism.
Outputs
uri string
Format
uri
URI of a temporary result file.
The file will be serialized as an ION file.