Files
2026-07-13 13:22:34 +08:00

30 lines
936 B
Python

import urllib.parse
from mlflow.environment_variables import MLFLOW_UC_OSS_TOKEN
from mlflow.exceptions import MlflowException
from mlflow.utils.databricks_utils import get_databricks_host_creds
from mlflow.utils.rest_utils import MlflowHostCreds
from mlflow.utils.uri import (
_DATABRICKS_UNITY_CATALOG_SCHEME,
)
def get_oss_host_creds(server_uri=None):
"""
Retrieve the host credentials for the OSS server.
Args:
server_uri (str): The URI of the server.
Returns:
MlflowHostCreds: The host credentials for the OSS server.
"""
parsed_uri = urllib.parse.urlparse(server_uri)
if parsed_uri.scheme != "uc":
raise MlflowException("The scheme of the server_uri should be 'uc'")
if parsed_uri.path == _DATABRICKS_UNITY_CATALOG_SCHEME:
return get_databricks_host_creds(parsed_uri.path)
return MlflowHostCreds(host=parsed_uri.path, token=MLFLOW_UC_OSS_TOKEN.get())