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. 你的笔记本或工作正常运行。
这篇文章有用吗?