镜像接口
获取用户拥有镜像概览
接口描述
返回查询到的用户概览信息
权限说明
所有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和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1GET /v1/ccr/overview HTTP/1.1
2Host: ccr.baidubce.com
3Authorization: authorization string
4x-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 | 内部错误 |
请求示例
1GET /v1/ccr/overview HTTP/1.1
2Host: ccr.baidubce.com
3Authorization: authorization string
4x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "totalProjectCount": 5,
3 "privateProjectCount": 4,
4 "publicProjectCount": 1,
5 "totalRepoCount": 1,
6 "privateRepoCount": 0,
7 "publicRepoCount": 1,
8 "totalTagCount": 1
9}
获取百度云镜像列表
接口描述
返回百度云镜像列表
权限说明
所有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和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1 GET /v1/ccr/repositories/bce HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 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 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/bce?keyword=&keywordType=&pageNo=&pageSize=&orderBy=&order= HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "result": [
3 {
4 "repositoryId": 138,
5 "repositoryName": "repo1",
6 "type": "public",
7 "projectId": 83,
8 "projectName": "test",
9 "description": "备注",
10 "location": "全局",
11 "address": "ccr.baidubce.com/test/repo1",
12 "pullCount": 28,
13 "startCount": 0,
14 "tagsCount": 2,
15 "createTime": "2020-03-03T04:16:24Z",
16 "updateTime": "2020-03-05T00:00:03Z",
17 "dockerPullCmd": "docker pull ccr.baidubce.com/test/repo1:latest"
18 }
19 ],
20 "orders": null,
21 "orderBy": "createTime",
22 "order": "asc",
23 "pageNo": 1,
24 "pageSize": 100,
25 "totalCount": 1
26}
获取用户镜像列表
接口描述
返回查询到用户镜像列表,包括私有和公有的镜像
请求结构
1 GET /v1/ccr/repositories/user HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 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 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/user?keyword=&keywordType=&pageNo=&pageSize=&orderBy=&order= HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "result": [
3 {
4 "repositoryId": 138,
5 "repositoryName": "repo1",
6 "type": "public",
7 "projectId": 83,
8 "projectName": "test",
9 "description": "备注",
10 "location": "全局",
11 "address": "ccr.baidubce.com/test/repo1",
12 "pullCount": 28,
13 "startCount": 0,
14 "tagsCount": 2,
15 "createTime": "2020-03-03T04:16:24Z",
16 "updateTime": "2020-03-05T00:00:03Z",
17 "dockerPullCmd": null
18 }
19 ],
20 "orders": null,
21 "orderBy": "createTime",
22 "order": "asc",
23 "pageNo": 1,
24 "pageSize": 100,
25 "totalCount": 1
26}
获取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和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
请求结构
1 GET /v1/ccr/repositories/docker HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 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 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories/docker?keyword=&keywordType=&pageNo=1&pageSize=2&orderBy=&order= HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "result": [
3 {
4 "name": "busybox",
5 "description": "Busybox base image.",
6 "dockerPullCmd": "docker pull busybox",
7 "address": "https://hub.docker.com/_/busybox",
8 "iconBosAddress": null
9 },
10 {
11 "name": "nginx",
12 "description": "Official build of Nginx.",
13 "dockerPullCmd": "docker pull nginx",
14 "address": "https://hub.docker.com/_/nginx",
15 "iconBosAddress": null
16 }
17 ],
18 "orders": null,
19 "orderBy": "name",
20 "order": "asc",
21 "pageNo": 1,
22 "pageSize": 2,
23 "totalCount": 162
24}
获取镜像详情
接口描述
返回查询到镜像详情
请求结构
1 GET /v1/ccr/repositories?repoName={repoName}&projectId={projectId}
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 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 | 内部错误 |
请求示例
1 GET /v1/ccr/repositories?repoName=nginx-alpine-go&projectId=5 HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
响应示例
1{
2 "brief": {
3 "address": "ccr.baidubce.com/poc/nginx-alpine-go",
4 "createTime": "2020-02-29T03:17:48Z",
5 "description": "",
6 "dockerPullCmd": null,
7 "location": "全局",
8 "projectId": 5,
9 "projectName": "poc",
10 "pullCount": 8,
11 "repositoryId": 2,
12 "repositoryName": "nginx-alpine-go",
13 "startCount": 0,
14 "tagsCount": 1,
15 "type": "private",
16 "updateTime": "2020-03-04T03:12:40Z"
17 },
18 "tags": [
19 {
20 "createTime": "2019-06-19T03:07:42Z",
21 "createdBy": "Docker Client",
22 "digest": "sha256:7d08c36fbb6b8488c7b4968fadf0a68289d7b002342f5f9707d683052d636690",
23 "dockerPullCmd": "docker pull ccr.baidubce.com/poc/nginx-alpine-go:latest",
24 "name": "latest",
25 "size": 10240622,
26 "updateTime": "2020-02-29T12:28:59Z"
27 }
28 ]
29}
更新镜像信息
接口描述
更新镜像信息
权限说明
所有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
请求结构
1 PUT /v1/ccr/repositories/tags?repoName={repoName}&projectId={projectId}
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 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 | 内部错误 |
请求示例
1 PUT /v1/ccr/repositories/tags?projectId=5&repoName=test HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
5
6{
7 "description": "更新**接口描述**"
8}
响应示例
1{
2 "action": "update repository",
3 "targetName": "nginx-alpine-go"
4}
删除镜像(支持批量删除)
接口描述
删除镜像
注意事项
repoName包含斜杠特殊字符时,需要用进行url编码,比如
repoName/slash -> repoName%2Fslash
请求结构
1 DELETE /v1/ccr/repositories/tags?repoName={repoName}&projectId={projectId}
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 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 | 内部错误 |
请求示例
1 DELETE /v1/ccr/repositories/tags?repoName=repoName&projectId=1 HTTP/1.1
2 Host: ccr.baidubce.com
3 Authorization: authorization string
4 x-bce-date:yyyy-MM-dd'T'HH:mm:ss'Z'
5["tag2"]
响应示例
1{
2 "failList": [],
3 "result": true
4}