MLflow無效訪問令牌的錯誤

長時間運行的ML任務需要一個訪問令牌與延長壽命,確保任務令牌到期之前完成。

寫的shanmugavel.chandrakasu

去年發表在:2022年7月22日

問題

在你的筆記本和你長期MLflow任務工作,任務沒有完成。相反,他們返回(403)無效的訪問令牌錯誤消息。

錯誤堆棧跟蹤:MlflowException: API請求的端點/ API / 2.0 / mlflow /運行/創建失敗,錯誤代碼403 ! = 200。身體反應:“< html >
<頭>
< meta data-fr-http-equiv = " - type”內容= " text / html; charset = utf - 8 " / >
<標題>錯誤403無效的訪問令牌。< /名稱>
< / >頭
<身體> < h2 > HTTP錯誤403 < / h2 >
< p >問題訪問/ api / 2.0 / mlflow /運行/創建。原因:
< pre >無效的訪問令牌。< / pre > < / p >
< /身體>
< / html >

導致

MLflow Python客戶機使用的磚訪問令牌的溝通與跟蹤服務器到期後幾個小時。如果你的ML任務運行一段時間,訪問令牌可能到期之前,任務完成。這個結果在MLflow調用失敗(403)無效的訪問令牌錯誤信息在筆記本和工作。

解決方案

你可以解決這個問題通過手動創建一個訪問令牌和一個擴展的一生,然後配置訪問令牌運行MLflow任務之前在你的筆記本上。

  1. 生成一個個人訪問令牌(AWS|Azure與延長壽命)和配置。
  2. 設置數據磚CLI (AWS|Azure)。
  3. 使用磚CLI的創建一個新的秘密與您剛才創建的個人訪問令牌。
    磚把秘密——{<秘密名字>}範圍——關鍵mlflow-access-token字符串值{< personal-access-token >}
  4. 這個示例代碼插入一開始你的筆記本。包括你的秘密的名字和您的工作區URL (AWS|Azure)。
    python access_token = dbutils.secrets %。get(範圍= "{<秘密名字>}”,關鍵=“mlflow-access-token”)進口os操作係統。環境(“DATABRICKS_TOKEN”) = access_token操作係統。環境(“DATABRICKS_HOST”)從databricks_cli = " https:// < workspace-url >”。配置進口供應商config_provider = provider.EnvironmentVariableConfigProvider () provider.set_config_provider (config_provider)
  5. 你的筆記本或工作正常運行。
這篇文章有用嗎?