Artifact operations
MLFlowClient.listartifacts — Function
listartifacts(instance::MLFlow, run_id::String; path::String="", page_token::String="")
listartifacts(instance::MLFlow, run::Run; path::String="", page_token::String="")List artifacts for a Run.
Arguments
instance:MLFlowconfiguration.run_id: ID of theRunwhose artifacts to list.path: Filter artifacts matching this path (a relative path from the root artifact directory).page_token: Token indicating the page of artifact results to fetch
Returns
- Root artifact directory for the
Run. - List of file location and metadata for artifacts.
- Token that can be used to retrieve the next page of artifact results.
MLFlowClient.listartifactsdirect — Function
listartifactsdirect(instance::MLFlow; path::String="")List artifacts directly from the MLflow artifact repository (not associated with a run).
Arguments
instance:MLFlowconfiguration.path: Filter artifacts matching this path (a relative path from the root artifact directory).
Returns
List of file location and metadata for artifacts.
MLFlowClient.downloadartifact — Function
downloadartifact(instance::MLFlow, artifact_path::String)Download an artifact from the MLflow artifact repository.
Arguments
instance:MLFlowconfiguration.artifact_path: Path of the artifact to download.
Returns
Artifact binary data as a byte array.
MLFlowClient.uploadartifact — Function
uploadartifact(instance::MLFlow, artifact_path::String, data::Vector{UInt8})Upload an artifact to the MLflow artifact repository.
Arguments
instance:MLFlowconfiguration.artifact_path: Path where the artifact should be stored.data: Artifact binary data.
Returns
true if successful. Otherwise, raises exception.
MLFlowClient.deleteartifact — Function
deleteartifact(instance::MLFlow, artifact_path::String)Delete an artifact from the MLflow artifact repository.
Arguments
instance:MLFlowconfiguration.artifact_path: Path of the artifact to delete.
Returns
true if successful. Otherwise, raises exception.
MLFlowClient.createmultipartupload — Function
createmultipartupload(instance::MLFlow, artifact_path::String, num_parts::Int64)Create a multipart upload for an artifact.
Arguments
instance:MLFlowconfiguration.artifact_path: Path where the artifact should be stored.num_parts: Number of parts for the multipart upload.
Returns
upload_id: Upload ID for the multipart upload.credentials: Array of credentials for each part.
MLFlowClient.completemultipartupload — Function
completemultipartupload(instance::MLFlow, artifact_path::String, upload_id::String,
parts::Array{MultipartUploadPart})Complete a multipart upload.
Arguments
instance:MLFlowconfiguration.artifact_path: Path of the artifact.upload_id: Upload ID for the multipart upload.parts: Array of uploaded parts with their part numbers and ETags.
Returns
true if successful. Otherwise, raises exception.
MLFlowClient.abortmultipartupload — Function
abortmultipartupload(instance::MLFlow, artifact_path::String, upload_id::String)Abort a multipart upload.
Arguments
instance:MLFlowconfiguration.artifact_path: Path of the artifact.upload_id: Upload ID for the multipart upload.
Returns
true if successful. Otherwise, raises exception.
MLFlowClient.getpresigneddownloadurl — Function
getpresigneddownloadurl(instance::MLFlow, artifact_path::String)Get a presigned URL for downloading an artifact.
Arguments
instance:MLFlowconfiguration.artifact_path: Path of the artifact.
Returns
url: The presigned URL for downloading the artifact.headers: Optional headers that must be included in the download request.file_size: Optional size of the file in bytes.
MLFlowClient.createpresigneduploadurl — Function
createpresigneduploadurl(instance::MLFlow, run_id::String, path::String;
expiration::Union{Int64,Missing}=missing)Generate a presigned URL for uploading an artifact directly to cloud storage. The server signs the URL with its own credentials, so clients can upload artifacts without direct cloud storage write permissions.
Arguments
instance:MLFlowconfiguration.run_id: ID of theRunthat owns the artifact.path: Relative path within the run's artifact directory (e.g. "models/model.pkl").expiration: Optional URL expiration time in seconds (the server defaults to 900).
Returns
presigned_url: The presigned URL for direct artifact upload.headers: Required headers for the upload request (e.g. Content-Type).