关于 sagemaker-mlflow
sagemaker-mlflow 是将 MLflow 连接到 SageMaker 跟踪资源的技能。它会检查 Python、插件、AWS 凭证和资源 ARN,并验证连接后再交由其他 MLflow 技能处理。
主要功能
- 01检查 Python 版本和插件
- 02验证 AWS 凭证
- 03选择或发现资源 ARN
- 04验证跟踪连接
- 05向其他技能传递连接
适用场景
- 01设置 MLflow 跟踪 URI
- 02查找 SageMaker 资源 ARN
- 03排查连接前提条件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mlflow/ skills --skill sagemaker-mlflow安装后在 Claude Code 中输入/sagemaker-mlflow确认已加载。
附带文件scripts/discover_arns.pyscripts/verify_connection.py
详细介绍
连接到 SageMaker MLflow
使用 sagemaker-mlflow 插件、ARN 跟踪 URI 和 AWS 凭证进行连接。
其他 MLflow 技能会通过 MLFLOW_TRACKING_URI 继承此连接。
需要 Python >= 3.10(mlflow >= 3.8)。验证并报告修复方法 — 切勿 自动安装插件或获取凭证(与仓库的 Databricks 模式一致)。
第 1 步:前提条件
python --version-> 必须为 3.10+。如果版本较低,请停止并告知用户。- 确认 AWS 凭证可以解析(环境变量、
aws configure/ SSO 或 IAM 角色)。如果 出错(ExpiredToken / 没有凭证),请停止并要求用户配置凭证。 (scripts/verify_connection.py也会通过 boto3 检查凭证。)
第 2 步:检查插件
如果缺少插件,请停止并向用户提供以下安装命令:
pip install sagemaker-mlflow
即使 MLFLOW_TRACKING_URI 已设置为 ARN,此插件仍是必需的 — 没有它,
mlflow.set_tracking_uri() 会因 UnsupportedModelRegistryStoreURIException 而失败。
第 3 步:选择资源 ARN
- 如果用户已提供 ARN(或
MLFLOW_TRACKING_URI已设置为arn:aws:sagemaker:...),请原样使用。 - 否则,请在用户所在区域中查找:
如果只返回一个结果,请使用该结果;如果返回多个结果,请列出名称/状态/ARN,并询问用户 要使用哪一个。python scripts/discover_arns.pymlflow-app和mlflow-tracking-serverARN 均可使用;也可以在 SageMaker Studio 控制台中资源的详情页查看 ARN。
然后导出该 ARN(ARN 绑定到特定区域 — 跨区域 ARN 无法通过身份验证):
export MLFLOW_TRACKING_URI="<arn>" # mlflow-app/<id> or mlflow-tracking-server/<name>
export AWS_DEFAULT_REGION="<region>" # AWS credentials resolved via the default chain (SigV4)
第 4 步:验证
python scripts/verify_connection.py "$MLFLOW_TRACKING_URI"
检查全部三项前提条件(插件 / 凭证 / ARN 连通性),并在首次检查失败时以非零状态退出, 同时给出修复提示。验证通过前请勿继续。
连接验证通过后,将任务交接给用户请求的 MLflow 技能 — 该技能会通过
MLFLOW_TRACKING_URI 继承已连接的环境。
故障排除
UnsupportedModelRegistryStoreURIException— 请参阅第 2 步,然后重新进行验证。AccessDenied/403— 凭证缺失或已过期,或者主体缺少 ARN 上的 MLflow 权限。请检查凭证是否可以解析,授予sagemaker-mlflow/sagemaker权限,并确认 ARN 区域与AWS_DEFAULT_REGION相符。
评论
支持 Markdown