
Milvus Upsert
CertifiedInsert or update rows in a Milvus collection
Milvus Upsert
Insert or update rows in a Milvus collection
Upserts rows in configurable batch sizes. Each row is a flat map with the collection's vector field, primary key field (unless auto-generated), and any scalar fields. Reads from an inline list or a Kestra internal storage URI.
type: io.kestra.plugin.milvus.UpsertExamples
Upsert rows with a vector field and scalar payload into a Milvus collection.
id: milvus_upsert
namespace: company.team
tasks:
- id: upsert_rows
type: io.kestra.plugin.milvus.Upsert
uri: http://localhost:19530
token: "{{ secret('MILVUS_TOKEN') }}"
collectionName: documents
rows:
- id: 1
vector: [0.05, 0.61, 0.76, 0.74]
city: Berlin
- id: 2
vector: [0.19, 0.81, 0.75, 0.11]
city: Paris
Properties
collectionName *string
Collection name
The name of the collection to upsert rows into.
rows *stringarrayobject
Rows to upsert
Row data source, either an inline list of maps or a Kestra internal storage URI to an ION file. Each row must include the collection's vector field as a list of numbers, its primary key field (unless the collection auto-generates IDs), and any dynamic scalar fields.
Pebble expression referencing an Internal Storage URI e.g. {{ outputs.mytask.uri }}.
uri *string
Milvus server URI
The URI of the Milvus server or Zilliz Cloud endpoint, e.g. http://localhost: 19530.
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
{}1150batchSize integerstring
1000Batch size
The number of rows sent per upsert call. Defaults to 1000, and must be between 1 and 10000.
databaseName string
Database name
The Milvus database to operate against. Defaults to the server's default database when not set.
partitionName string
Partition name
Optional partition to upsert the rows into. Defaults to the collection's default partition when not set.
password string
Password
Password for a self-hosted Milvus instance with username/password authentication enabled.
token string
API token
The API token for authentication, typically used with Zilliz Cloud or a Milvus instance with token-based auth enabled.
username string
Username
Username for a self-hosted Milvus instance with username/password authentication enabled. Leave unset if using a token or an unauthenticated instance.
Outputs
upsertedCount integer
0Number of upserted rows