|
|
|
|
@ -13,6 +13,7 @@ import {
|
|
|
|
|
import Plotly from "plotly.js-dist-min";
|
|
|
|
|
import CompareRunsDialog from "@/components/atoms/organisms/CompareRunDialog.vue";
|
|
|
|
|
import DeploymentDialog from "@/components/atoms/organisms/DeploymentDialog.vue";
|
|
|
|
|
import { MinioService } from "@/components/service/management/MinioService";
|
|
|
|
|
/* ========= Constants & Types ========= */
|
|
|
|
|
const AUTH_KEY = "external-auth";
|
|
|
|
|
const externalToken = computed(() => externalAuth.value?.token ?? "");
|
|
|
|
|
@ -254,11 +255,17 @@ function buildArtifactUri(fullPath: string) {
|
|
|
|
|
runs.value[0]?.info?.experiment_id ||
|
|
|
|
|
"";
|
|
|
|
|
const runId = runDetail.value?.info?.run_id || selectedRunId.value || "";
|
|
|
|
|
return `/${expId}/${runId}/artifacts/${fullPath}`;
|
|
|
|
|
return `${expId}/${runId}/artifacts/${fullPath}`;
|
|
|
|
|
}
|
|
|
|
|
async function onClickArtifact(fullPath: string) {
|
|
|
|
|
const objectName = buildArtifactUri(fullPath); // expId/runId/artifacts/...
|
|
|
|
|
try {
|
|
|
|
|
artifactsLoading.value = true;
|
|
|
|
|
const res = await MinioService.download(objectName);
|
|
|
|
|
// blob 다운로드 처리...
|
|
|
|
|
} finally {
|
|
|
|
|
artifactsLoading.value = false;
|
|
|
|
|
}
|
|
|
|
|
function onClickArtifact(fullPath: string) {
|
|
|
|
|
const uri = buildArtifactUri(fullPath);
|
|
|
|
|
console.log("[MLflow Artifact URI]", uri);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ========= Fetchers ========= */
|
|
|
|
|
|