如何通过API调用从Google Artifact Registry的YUM仓库下载RPM文件?
解决YUM风格API请求返回404的问题
问题分析
你使用的请求URL https://-yum.pkg.dev/projects///Packages/ 存在明显格式错误,且缺少必要的资源标识参数,这是导致404(Requested entity was not found.)错误的核心原因。
修复步骤
- 修正URL格式:标准的Google Cloud YUM仓库URL结构应为
https://yum.pkg.dev/projects/[项目ID]/[仓库名称]/Packages/,你需要将[项目ID]和[仓库名称]替换为真实的资源标识,同时移除URL中多余的斜杠(projects后连续三个斜杠不符合规范)。 - 确认资源存在性:检查目标项目下是否已创建对应仓库,且仓库名称拼写无误。404错误大多是因为请求的资源根本不存在,可能是项目ID错误、仓库未创建或已被删除。
- 验证仓库权限:如果是私有仓库,请求时需携带有效的身份验证凭据(如OAuth2令牌),部分服务会用404错误隐藏未授权状态,避免泄露资源存在性。
- 核对YUM客户端配置:若通过YUM工具访问仓库,确保repo配置文件中的
baseurl参数正确,示例配置如下:[custom-google-repo] name=Custom Google Cloud YUM Repo baseurl=https://yum.pkg.dev/projects/your-project-id/your-repo-name/ enabled=1 gpgcheck=1 gpgkey=https://yum.pkg.dev/doc/rpm-pubkey.gpg
内容的提问来源于stack exchange,提问作者user_101
相关产品推荐
相关产品推荐

