Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Kubeflow Pipelines MLMD Service GRPC

From Leeroopedia
Knowledge Sources
Domains Metadata_Management, API_Schema, gRPC
Last Updated 2026-02-13 14:00 GMT

Overview

Auto-generated Go gRPC client and server stubs for the ML Metadata Store service, providing the RPC interface for all metadata CRUD operations.

Description

Generated by `protoc-gen-go-grpc` (requiring gRPC-Go v1.32.0+), this file (2,441 lines) defines the MetadataStoreServiceClient interface with 50+ RPC methods, a concrete `metadataStoreServiceClient` implementation using `grpc.ClientConn`, and the MetadataStoreServiceServer interface for server implementations. Also includes `UnimplementedMetadataStoreServiceServer` for forward-compatible servers.

Usage

The KFP API server uses the client stubs from this file to record and query pipeline metadata. This completes the gRPC integration layer alongside the message types from the companion `_service.pb.go` file.

Code Reference

Source Location

Signature

package ml_metadata

type MetadataStoreServiceClient interface {
    PutArtifactType(ctx context.Context, in *PutArtifactTypeRequest, opts ...grpc.CallOption) (*PutArtifactTypeResponse, error)
    PutArtifacts(ctx context.Context, in *PutArtifactsRequest, opts ...grpc.CallOption) (*PutArtifactsResponse, error)
    PutExecutions(ctx context.Context, in *PutExecutionsRequest, opts ...grpc.CallOption) (*PutExecutionsResponse, error)
    GetArtifactsByType(ctx context.Context, in *GetArtifactsByTypeRequest, opts ...grpc.CallOption) (*GetArtifactsByTypeResponse, error)
    GetLineageGraph(ctx context.Context, in *GetLineageGraphRequest, opts ...grpc.CallOption) (*GetLineageGraphResponse, error)
    // ... 50+ RPC methods
}

func NewMetadataStoreServiceClient(cc grpc.ClientConnInterface) MetadataStoreServiceClient

type MetadataStoreServiceServer interface {
    // Same methods as client, but (ctx, *Request) -> (*Response, error)
}

type UnimplementedMetadataStoreServiceServer struct{}

Import

import ml_metadata "github.com/kubeflow/pipelines/third_party/ml-metadata/go/ml_metadata"
import "google.golang.org/grpc"

I/O Contract

Inputs

Name Type Required Description
grpc.ClientConnInterface gRPC connection Yes Established gRPC connection to MLMD server

Outputs

Name Type Description
MetadataStoreServiceClient interface Client stub for making MLMD gRPC calls
MetadataStoreServiceServer interface Server interface for implementing MLMD service

Usage Examples

Creating a Client and Putting Artifacts

import (
    ml_metadata "github.com/kubeflow/pipelines/third_party/ml-metadata/go/ml_metadata"
    "google.golang.org/grpc"
)

conn, err := grpc.Dial("metadata-grpc-service:8080", grpc.WithInsecure())
if err != nil {
    log.Fatalf("Failed to connect: %v", err)
}
defer conn.Close()

client := ml_metadata.NewMetadataStoreServiceClient(conn)
resp, err := client.PutArtifacts(ctx, &ml_metadata.PutArtifactsRequest{
    Artifacts: []*ml_metadata.Artifact{
        {Uri: proto.String("gs://bucket/output"), TypeId: proto.Int64(1)},
    },
})

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment