Transform Filter

Transform Filter

Certified

Filter records

Keep or drop records based on a boolean expression.

yaml
type: io.kestra.plugin.transform.Filter

Keep active customers

yaml
id: filter_active_customers
namespace: company.team

tasks:
  - id: normalize
    type: io.kestra.plugin.core.output.OutputValues
    values:
      records:
        - customer_id: c1
          is_active: true
          total_spent: 120
        - customer_id: c2
          is_active: false
          total_spent: 90

  - id: filter
    type: io.kestra.plugin.transform.Filter
    from: "{{ outputs.normalize.values.records }}"
    where: is_active && total_spent > 100
    onError: SKIP
Properties

Input records

Ion list or struct to transform, or a storage URI pointing to an Ion file.

Filter expression

Expression evaluated on each record and required to return true or false.

DefaultFAIL
Possible Values
FAILSKIPKEEP

On error behavior

FAIL stops the task on expression errors, SKIP drops the current record, and KEEP emits the original record when the filter expression fails.

DefaultTEXT
Possible Values
TEXTBINARY

Output format

Experimental: TEXT or BINARY. Only transform tasks can read binary Ion. Use TEXT as the final step.

DefaultAUTO
Possible Values
AUTORECORDSSTORE

Output type

AUTO stores to internal storage when the input is a storage URI; otherwise it returns records.

Reference (ref) of the pluginDefaults to apply to this task.

Filtered records

JSON-safe records when output mode is RECORDS or AUTO resolves to RECORDS.

Stored Ion file URI

URI to the stored Ion file when output mode is STORE or AUTO resolves to STORE.