Milvus Upsert

Milvus Upsert

Certified

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.

yaml
type: io.kestra.plugin.milvus.Upsert

Upsert rows with a vector field and scalar payload into a Milvus collection.

yaml
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

Collection name

The name of the collection to upsert rows into.

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.

Milvus server URI

The URI of the Milvus server or Zilliz Cloud endpoint, e.g. http://localhost: 19530.

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.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset 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.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
Default1000

Batch size

The number of rows sent per upsert call. Defaults to 1000, and must be between 1 and 10000.

Database name

The Milvus database to operate against. Defaults to the server's default database when not set.

Partition name

Optional partition to upsert the rows into. Defaults to the collection's default partition when not set.

Password

Password for a self-hosted Milvus instance with username/password authentication enabled.

API token

The API token for authentication, typically used with Zilliz Cloud or a Milvus instance with token-based auth enabled.

Username

Username for a self-hosted Milvus instance with username/password authentication enabled. Leave unset if using a token or an unauthenticated instance.

Default0

Number of upserted rows