
File system Uploads
CertifiedUpload multiple files to the local filesystem
File system Uploads
Upload multiple files to the local filesystem
Writes each provided Kestra storage URI to the destination directory under configured allowed-paths.
Accepts a list, a map (destination filename to URI), a JSON-encoded list/map, or a storage URI of a file containing URIs.
Example (Kestra config):
plugins:
configurations:
- type: io.kestra.plugin.fs.local.Uploads
values:
allowed-paths:
- /data/uploads
type: io.kestra.plugin.fs.local.UploadsExamples
Upload a list of files to a local directory
id: fs_local_uploads
namespace: company.team
inputs:
- id: file1
type: FILE
- id: file2
type: FILE
tasks:
- id: uploads
type: io.kestra.plugin.fs.local.Uploads
from:
- "{{ inputs.file1 }}"
- "{{ inputs.file2 }}"
to: "/data/uploads"
Upload only files matching a regex (e.g. .sql files)
id: fs_local_uploads_regexp
namespace: company.team
tasks:
- id: uploads
type: io.kestra.plugin.fs.local.Uploads
from:
- "{{ outputs.step1.uri }}"
- "{{ outputs.step2.uri }}"
regExp: ".*\\.sql$"
to: "/data/uploads"
Upload with custom destination filenames using a map
id: fs_local_uploads_with_names
namespace: company.team
inputs:
- id: file1
type: FILE
- id: file2
type: FILE
tasks:
- id: uploads
type: io.kestra.plugin.fs.local.Uploads
from:
report.csv: "{{ inputs.file1 }}"
data.json: "{{ inputs.file2 }}"
to: "/data/uploads"
Properties
from *stringarrayobject
Files to upload (kestra:// URIs)
Kestra internal storage URIs; accepts a single URI string, a list of URIs, a map of destination filenames to URIs (to preserve original filenames), or a URI pointing to a file that contains URIs.
Pebble expression referencing an Internal Storage URI e.g. {{ outputs.mytask.uri }}.
to *string
Destination directory
Must resolve within one of the configured allowed-paths.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150maxFiles integerstring
25Maximum files to upload
overwrite booleanstring
trueOverwrite existing files
If false, fails when the destination file already exists.
regExp string
Regexp filter on full path
Only source URIs fully matching this regex are uploaded. Example: .*\.sql$.
Outputs
files array
Local file URIs of the uploaded files