CommitImport()

This function commits a bulk import job via the RESTful import API. Use it for import modes that stage data first and commit at the end, such as when the import job requires an explicit final commit before the imported data becomes queryable.

CommitImport() is a package-level function in github.com/milvus-io/milvus/client/v3/bulkwriter, not a method on *milvusclient.Client. It speaks the REST /v2/vectordb/jobs/import/commit endpoint directly, so it works with both Milvus open-source clusters (use NewCommitImportOption) and Zilliz Cloud (use NewCloudCommitImportOption).

func CommitImport(ctx context.Context, option *CommitImportOption) (*CommitImportResponse, error)

Request Syntax

option := bulkwriter.NewCommitImportOption(uri, jobID).
    WithAPIKey(apiKey)

resp, err := bulkwriter.CommitImport(ctx, option)

PARAMETERS:

  • ctx (context.Context) - The context for cancellation and deadlines. The HTTP request inherits this context, so canceling it aborts the in-flight call.

  • option (CommitImportOption) - The commit option created with NewCommitImportOption() for self-hosted Milvus or NewCloudCommitImportOption() for Zilliz Cloud. The job ID returned by BulkImport() is required.

RETURN TYPE:

*CommitImportResponse, error

RETURNS:

This class represents the response returned by the CommitImport() package function. It embeds ResponseBase for the common Status and Message fields. Use the embedded CheckStatus() method to verify the call succeeded.

type CommitImportResponse struct {
    ResponseBase
}

FIELDS:

  • Status (int) - Inherited from ResponseBase. A value of 0 indicates success; any other value indicates an error.

  • Message (string) - Inherited from ResponseBase. Human-readable error description when Status is non-zero.

METHODS:

  • CheckStatus()

    This validates the response status. Returns nil when Status == 0; otherwise returns a formatted error containing Status and Message.

ERROR HANDLING:

  • error

    Check err != nil for failure details. Common failures include malformed option payloads, network errors, authentication rejection (when WithAPIKey is set incorrectly), and server-side validation errors surfaced through the response status.

Example

import (
    "context"
    "log"

    "github.com/milvus-io/milvus/client/v3/bulkwriter"
)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

milvusAddr := "http://127.0.0.1:19530"
jobID := "453291002847301"

option := bulkwriter.NewCommitImportOption(milvusAddr, jobID).
    WithAPIKey("root:Milvus")

resp, err := bulkwriter.CommitImport(ctx, option)
if err != nil {
    log.Fatal(err)
}

if resp.Status != 0 {
    log.Fatalf("commit import failed: %s", resp.Message)
}

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Was this page helpful?