镜像接口
获取用户拥有镜像概览
接口描述
返回查询到的用户概览信息
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}
。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
GET /v1/ccr/overview HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
无。
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
totalProjectCount | int | 总共命名空间数量 |
privateProjectCount | int | 私有命名空间数量 |
publicProjectCount | int | 共有命名空间数量 |
totalRepoCount | int | 总共镜像数量 |
privateRepoCount | int | 私有镜像数量 |
publicRepoCount | int | 共有镜像数量 |
totalTagCount | int | 总共版本数量 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
GET /v1/ccr/overview HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
{
"totalProjectCount": 5,
"privateProjectCount": 4,
"publicProjectCount": 1,
"totalRepoCount": 1,
"privateRepoCount": 0,
"publicRepoCount": 1,
"totalTagCount": 1
}
获取百度云镜像列表
接口描述
返回百度云镜像列表
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}
。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
GET /v1/ccr/repositories/bce HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
keyword | String | 否 | Query参数 | 查询关键字 |
keywordType | String | 否 | Query参数 | 查询关键字类型,目前仅支持name |
order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
orderBy | String | 否 | Query参数 | 用于排序字段,支持repositoryId,repositoryName,projectName,updateTime,tagsCount,createTime |
pageNo | int | 否 | Query参数 | 当前页 |
pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | List | 结果列表 |
order | String | 排序方式 |
orderBy | String | 排序字段 |
pageNo | int | 当前页 |
pageSize | int | 每页记录数 |
totalCount | int | 记录总数 |
repositoryId | Long | 镜像ID |
repositoryName | String | 镜像名称 |
type | String | 类型 |
projectId | long 命名空间ID | |
projectName | String 命名空间名字 | |
description | String | 镜像 |
location | String | 区域 |
address | String | 镜像地址 |
pullCount | int | 拉取数量 |
startCount | int | 收藏数量 |
tagsCount | int | 拥有的版本数量 |
createTime | String | 创建时间 |
updateTime | String | 更新时间 |
dockerPullCmd | String | 拉取命令 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
GET /v1/ccr/repositories/bce?keyword=&keywordType=&pageNo=&pageSize=&orderBy=&order= HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
{
"result": [
{
"repositoryId": 138,
"repositoryName": "repo1",
"type": "public",
"projectId": 83,
"projectName": "test",
"description": "备注",
"location": "全局",
"address": "ccr.baidubce.com/test/repo1",
"pullCount": 28,
"startCount": 0,
"tagsCount": 2,
"createTime": "2020-03-03T04:16:24Z",
"updateTime": "2020-03-05T00:00:03Z",
"dockerPullCmd": "docker pull ccr.baidubce.com/test/repo1:latest"
}
],
"orders": null,
"orderBy": "createTime",
"order": "asc",
"pageNo": 1,
"pageSize": 100,
"totalCount": 1
}
获取用户镜像列表
接口描述
返回查询到用户镜像列表,包括私有和公有的镜像
请求结构
GET /v1/ccr/repositories/user HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
keyword | String | 否 | Query参数 | 查询关键字 |
keywordType | String | 否 | Query参数 | 查询关键字类型,目前仅支持name |
order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
orderBy | String | 否 | Query参数 | 用于排序字段,支持repositoryId,repositoryName,projectName,updateTime,tagsCount,createTime(默认) |
pageNo | int | 否 | Query参数 | 当前页 |
pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | List | 结果列表 |
order | String | 排序方式 |
orderBy | String | 排序字段 |
pageNo | int | 当前页 |
pageSize | int | 每页记录数 |
totalCount | int | 记录总数 |
repositoryId | Long | 镜像ID |
repositoryName | String | 镜像名称 |
type | String | 类型 |
projectId | long 命名空间ID | |
projectName | String 命名空间名字 | |
description | String | 镜像 |
location | String | 区域 |
address | String | 镜像地址 |
pullCount | int | 拉取数量 |
startCount | int | 收藏数量 |
tagsCount | int | 拥有的版本数量 |
createTime | String | 创建时间 |
updateTime | String | 更新时间 |
dockerPullCmd | String | 拉取命令 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
GET /v1/ccr/repositories/user?keyword=&keywordType=&pageNo=&pageSize=&orderBy=&order= HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
{
"result": [
{
"repositoryId": 138,
"repositoryName": "repo1",
"type": "public",
"projectId": 83,
"projectName": "test",
"description": "备注",
"location": "全局",
"address": "ccr.baidubce.com/test/repo1",
"pullCount": 28,
"startCount": 0,
"tagsCount": 2,
"createTime": "2020-03-03T04:16:24Z",
"updateTime": "2020-03-05T00:00:03Z",
"dockerPullCmd": null
}
],
"orders": null,
"orderBy": "createTime",
"order": "asc",
"pageNo": 1,
"pageSize": 100,
"totalCount": 1
}
获取Docker官方镜像列表
接口描述
返回查询到docker官方镜像列表
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}
。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
GET /v1/ccr/repositories/docker HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
keyword | String | 否 | Query参数 | 查询关键字 |
keywordType | String | 否 | Query参数 | 查询关键字类型,目前仅支持name |
order | String | 否 | Query参数 | 排序方式,支持 asc,desc |
orderBy | String | 否 | Query参数 | 用于排序字段,支持name(默认) |
pageNo | int | 否 | Query参数 | 当前页 |
pageSize | int | 否 | Query参数 | 每页记录数,最大100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
result | List | 结果列表 |
order | String | 排序方式 |
orderBy | String | 排序字段 |
pageNo | int | 当前页 |
pageSize | int | 每页记录数 |
totalCount | int | 记录总数 |
name | String | 镜像名称 |
description | String | 描述 |
location | String | 区域 |
address | String | 镜像地址 |
dockerPullCmd | String | 拉取命令 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
GET /v1/ccr/repositories/docker?keyword=&keywordType=&pageNo=1&pageSize=2&orderBy=&order= HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
{
"result": [
{
"name": "busybox",
"description": "Busybox base image.",
"dockerPullCmd": "docker pull busybox",
"address": "https://hub.docker.com/_/busybox",
"iconBosAddress": null
},
{
"name": "nginx",
"description": "Official build of Nginx.",
"dockerPullCmd": "docker pull nginx",
"address": "https://hub.docker.com/_/nginx",
"iconBosAddress": null
}
],
"orders": null,
"orderBy": "name",
"order": "asc",
"pageNo": 1,
"pageSize": 2,
"totalCount": 162
}
获取镜像详情
接口描述
返回查询到镜像详情
请求结构
GET /v1/ccr/repositories?repoName={repoName}&projectId={projectId}
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
repoName | String | 是 | Query参数 | 镜像仓库名字 |
projectId | long | 是 | Query参数 | 命名空间ID |
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
brief | Json | 镜像 |
totalCount | int | 记录总数 |
repositoryId | Long | 镜像ID |
repositoryName | String | 镜像名称 |
type | String | 类型 |
projectId | long | 命名空间ID |
projectName | String | 命名空间名字 |
description | String | 镜像 |
location | String | 区域 |
address | String | 镜像地址 |
pullCount | int | 拉取数量 |
startCount | int | 收藏数量 |
tagsCount | int | 拥有的版本数量 |
createTime | String | 创建时间 |
updateTime | String | 更新时间 |
dockerPullCmd | String | 拉取命令 |
tags | List | 镜像版本列表 |
createdBy | String | 创建方式 |
digest | String | 标志 |
name | String | 镜像版本名称 |
size | long | 镜像版本大小 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
GET /v1/ccr/repositories?repoName=nginx-alpine-go&projectId=5 HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
{
"brief": {
"address": "ccr.baidubce.com/poc/nginx-alpine-go",
"createTime": "2020-02-29T03:17:48Z",
"description": "",
"dockerPullCmd": null,
"location": "全局",
"projectId": 5,
"projectName": "poc",
"pullCount": 8,
"repositoryId": 2,
"repositoryName": "nginx-alpine-go",
"startCount": 0,
"tagsCount": 1,
"type": "private",
"updateTime": "2020-03-04T03:12:40Z"
},
"tags": [
{
"createTime": "2019-06-19T03:07:42Z",
"createdBy": "Docker Client",
"digest": "sha256:7d08c36fbb6b8488c7b4968fadf0a68289d7b002342f5f9707d683052d636690",
"dockerPullCmd": "docker pull ccr.baidubce.com/poc/nginx-alpine-go:latest",
"name": "latest",
"size": 10240622,
"updateTime": "2020-02-29T12:28:59Z"
}
]
}
更新镜像信息
接口描述
更新镜像信息
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所接口描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}
。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
注意事项
repoName包含斜杠特殊字符时,需要用进行url编码,比如
repoName/slash -> repoName%2Fslash
请求结构
PUT /v1/ccr/repositories/tags?repoName={repoName}&projectId={projectId}
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
repoName | String | 是 | Query参数 | 镜像仓库名字 |
projectId | long | 是 | Query参数 | 命名空间ID |
description | String | 是 | Body参数 | 描述 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
action | String | 请求动作 |
targetName | String | 请求目标 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
PUT /v1/ccr/repositories/tags?projectId=5&repoName=test HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
{
"description": "更新**接口描述**"
}
响应示例
{
"action": "update repository",
"targetName": "nginx-alpine-go"
}
删除镜像(支持批量删除)
接口描述
删除镜像
注意事项
repoName包含斜杠特殊字符时,需要用进行url编码,比如
repoName/slash -> repoName%2Fslash
请求结构
DELETE /v1/ccr/repositories/tags?repoName={repoName}&projectId={projectId}
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
repoName | String | 是 | Query参数 | 镜像仓库名字 |
projectId | long | 是 | Query参数 | 命名空间ID |
tagNames | List | 是 | Body参数 | 需要删除镜像名称列表 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
failList | String | 删除失败的版本名 |
result | boolean | 是否全部成功 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
Internal server error | Failed to generate CCR resource. | 500 | 内部错误 |
请求示例
DELETE /v1/ccr/repositories/tags?repoName=repoName&projectId=1 HTTP/1.1
Host: ccr.baidubce.com
Authorization: authorization string
x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
["tag2"]
响应示例
{
"failList": [],
"result": true
}