如何让Artifact Registry中的Python包可用于Vertex AI自定义作业?
解决Vertex AI自定义作业构建时Artifact Registry认证失败的方法
以下是几种无需硬编码服务账号密钥的解决方案:
配置应用默认凭据(本地+Vertex AI通用)
本地环境下,执行gcloud auth application-default login生成默认凭据文件,构建过程中确保环境变量GOOGLE_APPLICATION_CREDENTIALS指向该文件路径。在Vertex AI自定义作业中,可通过工作负载身份绑定将作业服务账号与具备Artifact Registry权限的账号关联,或在作业配置中指定service_account字段,确保构建阶段能自动获取有效凭据。修复元数据服务器访问问题
若元数据服务器超时,检查VPC防火墙规则是否允许访问169.254.169.254(元数据服务器地址)。确保自定义作业使用的网络配置中没有阻止该地址的出站流量,同时确认服务账号的IAM权限包含roles/iam.serviceAccountUser,允许作业代理该账号访问元数据服务。调整依赖安装顺序
在构建脚本中先单独安装keyrings.google-artifactregistry-auth,再安装requirements.txt中的依赖,避免因依赖安装顺序导致认证组件未初始化:pip install --upgrade pip pip install keyrings.google-artifactregistry-auth pip install -r requirements.txt使用预构建私有镜像
将所需依赖提前安装到自定义镜像中,上传至Artifact Registry的镜像仓库,然后在Vertex AI自定义作业中直接使用该私有镜像作为基础镜像,跳过构建阶段的依赖安装步骤,彻底规避认证问题。
内容的提问来源于stack exchange,提问作者Torsten Knodt
相关产品推荐
相关产品推荐

