
Datagen Generate
CertifiedGenerate synthetic data
Datagen Generate
Generate synthetic data
Runs the configured generator (e.g., Datafaker) once (inline) or for a batch when store is true. When stored, results are written as Ion lines to internal storage; defaults are store=false and batchSize=1.
type: io.kestra.plugin.datagen.core.GenerateExamples
id: datagen_person_json
namespace: com.example.datagen
tasks:
- id: datagen
type: io.kestra.plugin.datagen.core.Generate
generator:
type: io.kestra.plugin.datagen.generators.JsonObjectGenerator
locale: ["fr", "FR"]
value:
name: "#{name.fullName}"
email: "#{internet.emailAddress}"
age: 30
address:
city: "#{address.city}"
zip: "#{address.zipCode}"
skills: [ "#{job.keySkills}", "#{job.position}", "hardcoded" ]
ts: "{{ now() }}"
- id: log
type: io.kestra.plugin.core.log.Log
message: "Created: {{ outputs.datagen.value.name }} ({{ outputs.datagen.value.email }})!"
id: datagen_person_json_batch
namespace: com.example.datagen
tasks:
- id: datagen
type: io.kestra.plugin.datagen.core.Generate
batchSize: 100
store: true
generator:
type: io.kestra.plugin.datagen.generators.JsonObjectGenerator
locale: ["fr", "FR"]
value:
name: "#{name.fullName}"
email: "#{internet.emailAddress}"
age: 30
address:
city: "#{address.city}"
zip: "#{address.zipCode}"
skills: [ "#{job.keySkills}", "#{job.position}", "hardcoded" ]
ts: "{{ now() }}"
- id: log
type: io.kestra.plugin.core.log.Log
message: "Created: {{ outputs.datagen.value.name }} ({{ outputs.datagen.value.email }})!"
id: datagen_person_csv
namespace: com.example.datagen
inputs:
- id: rows
type: INT
displayName: "Number of Rows"
description: "Number of data rows to generate (excluding header)."
defaults: 10
- id: separator
type: STRING
displayName: "Separator"
description: "Column separator character (e.g., ',', ';')."
defaults: ","
- id: header
type: BOOL
displayName: "Include header"
description: "Include header row in the CSV output."
defaults: true
tasks:
- id: datagen
type: io.kestra.plugin.datagen.core.Generate
generator:
type: io.kestra.plugin.datagen.generators.StringValueGenerator
locale: ["en", "US"]
value: |
#{csv '{{ inputs.separator }}','"','{{inputs.header}}','{{ inputs.rows}}','name_column','#{Name.first_name}','last_name_column','#{Name.last_name}'}
- id: log
type: io.kestra.plugin.core.log.Log
message: |
{{ outputs.datagen.value }}
Properties
generator *RequiredNon-dynamic
Choose data generator
Generator used for each record; required for all generate tasks and triggers.
Generate JSON objects from templates
Renders the value map, then evaluates Datafaker expressions (#{...}) on every record. Supports nested maps/lists; locale list overrides Faker locale, otherwise the library default is used.
Object template
Map of key-value pairs rendered per record; strings starting with #{ are evaluated by Datafaker, including nested maps and lists.
Locales
Optional locale list in the format [language, country, variant]; empty list uses Faker's default locale.
Generate random byte arrays
Allocates a byte array of the configured size and fills it with SecureRandom bytes. Size should be positive; randomness relies on the JVM's default seed.
0Byte array size
Number of bytes produced per record; should be greater than zero
Generate strings from templates
Renders the value string (Pebble) and then evaluates Datafaker expressions like #{name.firstName} for each record. Locale list overrides Faker locale; empty list uses the library default.
String template
String rendered per record; supports Pebble variables and Datafaker expressions starting with #{
Locales
Optional locale list in the format [language, country, variant]; empty list uses Faker's default locale.
batchSize integerstring
1Batch size
Number of items to generate when storing data; only used if store is true. Defaults to 1.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
store booleanstring
falseStore generated data
Persist output to Kestra internal storage as Ion lines when true; defaults to false to return the value inline.
Outputs
count integer
Items generated
Number of records produced by the generator.
size integer
Generated size (bytes)
Total size in bytes of the returned value or stored Ion file.
uri string
uriStored file URI
URI in internal storage when store is true; null for inline outputs.
value object
Generated value
Inline content when store is false; null when data is stored. May be string, number, JSON object, or byte array depending on the generator.