from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( AuthProvider, OpenMetadataConnection,)from metadata.generated.schema.security.client.openMetadataJWTClientConfig import ( OpenMetadataJWTClientConfig,)from metadata.ingestion.ometa.ometa_api import OpenMetadatafrom metadata.generated.schema.entity.services.mlmodelService import MlModelServicemetadata = OpenMetadata( OpenMetadataConnection( hostPort="https://your-company.getcollate.io/api", authProvider=AuthProvider.openmetadata, securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"), ))# Retrieve, modify, and updatesvc = metadata.get_by_id(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")modified = svc.model_copy(deep=True)modified.description = "Updated: Production MLflow tracking server with model registry"modified.connection.config.trackingUri = "http://mlflow-prod:8088"modified.connection.config.registryUri = "http://mlflow-prod:8088"updated = metadata.patch(entity=MlModelService, source=svc, destination=modified)print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.services.MlModelService;import org.openmetadata.sdk.fluent.MlModelServices;// client is an initialized OpenMetadataClient.MlModelServices.setDefaultClient(client);// Retrieve, modify, and updateMlModelService service = MlModelServices.retrieve("ca22d46e-81b9-4e48-85b5-0adc44980da9");service.setDescription("Updated: Production MLflow tracking server with model registry");MlModelService updated = MlModelServices.update(service);
# Update by IDcurl -X PATCH "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9" \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json-patch+json" \ -d '[ {"op": "replace", "path": "/description", "value": "Updated: Production MLflow tracking server with model registry"} ]'# Update by namecurl -X PATCH "{base_url}/api/v1/services/mlmodelServices/name/mlflow_svc" \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json-patch+json" \ -d '[ {"op": "replace", "path": "/description", "value": "Updated: Production MLflow tracking server with model registry"} ]'
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( AuthProvider, OpenMetadataConnection,)from metadata.generated.schema.security.client.openMetadataJWTClientConfig import ( OpenMetadataJWTClientConfig,)from metadata.ingestion.ometa.ometa_api import OpenMetadatafrom metadata.generated.schema.entity.services.mlmodelService import MlModelServicemetadata = OpenMetadata( OpenMetadataConnection( hostPort="https://your-company.getcollate.io/api", authProvider=AuthProvider.openmetadata, securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"), ))# Retrieve, modify, and updatesvc = metadata.get_by_id(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")modified = svc.model_copy(deep=True)modified.description = "Updated: Production MLflow tracking server with model registry"modified.connection.config.trackingUri = "http://mlflow-prod:8088"modified.connection.config.registryUri = "http://mlflow-prod:8088"updated = metadata.patch(entity=MlModelService, source=svc, destination=modified)print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.services.MlModelService;import org.openmetadata.sdk.fluent.MlModelServices;// client is an initialized OpenMetadataClient.MlModelServices.setDefaultClient(client);// Retrieve, modify, and updateMlModelService service = MlModelServices.retrieve("ca22d46e-81b9-4e48-85b5-0adc44980da9");service.setDescription("Updated: Production MLflow tracking server with model registry");MlModelService updated = MlModelServices.update(service);
# Update by IDcurl -X PATCH "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9" \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json-patch+json" \ -d '[ {"op": "replace", "path": "/description", "value": "Updated: Production MLflow tracking server with model registry"} ]'# Update by namecurl -X PATCH "{base_url}/api/v1/services/mlmodelServices/name/mlflow_svc" \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json-patch+json" \ -d '[ {"op": "replace", "path": "/description", "value": "Updated: Production MLflow tracking server with model registry"} ]'
Create an ML model service or update it if it already exists, using PUT /v1/services/mlmodelServices with the full request body. Send the complete definition, not just the fields you want to change. To change only some fields, use PATCH with a JSON Patch array and the application/json-patch+json content type, as shown in the PATCH examples below.
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( AuthProvider, OpenMetadataConnection,)from metadata.generated.schema.security.client.openMetadataJWTClientConfig import ( OpenMetadataJWTClientConfig,)from metadata.ingestion.ometa.ometa_api import OpenMetadatafrom metadata.generated.schema.entity.services.mlmodelService import MlModelServicemetadata = OpenMetadata( OpenMetadataConnection( hostPort="https://your-company.getcollate.io/api", authProvider=AuthProvider.openmetadata, securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"), ))# Retrieve, modify, and updatesvc = metadata.get_by_id(entity=MlModelService, entity_id="ca22d46e-81b9-4e48-85b5-0adc44980da9")modified = svc.model_copy(deep=True)modified.description = "Updated: Production MLflow tracking server with model registry"modified.connection.config.trackingUri = "http://mlflow-prod:8088"modified.connection.config.registryUri = "http://mlflow-prod:8088"updated = metadata.patch(entity=MlModelService, source=svc, destination=modified)print(f"Updated to version {updated.version.root}")
import org.openmetadata.schema.entity.services.MlModelService;import org.openmetadata.sdk.fluent.MlModelServices;// client is an initialized OpenMetadataClient.MlModelServices.setDefaultClient(client);// Retrieve, modify, and updateMlModelService service = MlModelServices.retrieve("ca22d46e-81b9-4e48-85b5-0adc44980da9");service.setDescription("Updated: Production MLflow tracking server with model registry");MlModelService updated = MlModelServices.update(service);
# Update by IDcurl -X PATCH "{base_url}/api/v1/services/mlmodelServices/ca22d46e-81b9-4e48-85b5-0adc44980da9" \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json-patch+json" \ -d '[ {"op": "replace", "path": "/description", "value": "Updated: Production MLflow tracking server with model registry"} ]'# Update by namecurl -X PATCH "{base_url}/api/v1/services/mlmodelServices/name/mlflow_svc" \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json-patch+json" \ -d '[ {"op": "replace", "path": "/description", "value": "Updated: Production MLflow tracking server with model registry"} ]'