源站池接口
更新时间:2026-10-27
创建源站池
Go
1cli := GetDefaultClient()
2originHost := "test.host.com"
3resp, err := cli.CreateOriginPool("your_site.com", &api.OriginPoolConfig{
4 Name: "test",
5 OriginConfig: []api.OriginPoolItem{
6 {
7 Addr: "1.2.3.4",
8 Type: "IP",
9 Host: &originHost,
10 Weight: 50,
11 },
12 {
13 Addr: "your.bos.bucket1.name",
14 Type: "BUCKET",
15 Host: &originHost,
16 Weight: 50,
17 ThirdBucketAuth: &api.OriginPoolBucketAuth{
18 AuthType: "bos",
19 Enabled: false,
20 },
21 },
22 },
23})
24result, _ := json.Marshal(resp)
25fmt.Printf("result: %s\n", result)
26fmt.Printf("err:%+v\n", err)
api.OriginPoolConfig 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Name | String | 是 | 源站池名称,长度 0-120。 |
| OriginConfig | []api.OriginPoolItem | 是 | 源站配置列表。 |
api.OriginPoolItem 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Addr | String | 是 | 源站地址。IP/DOMAIN 类型传 IPv4/IPv6/域名;BUCKET 类型传 BOS bucket 名称。 |
| Type | String | 是 | 源站类型。IP/DOMAIN 类型取 IP/DOMAIN;对象存储取 BUCKET(BOS)/DOMAIN(S3)。 |
| Host | *String | 否 | 回源时使用的 host 值。 |
| Weight | Int | 是 | 源站权重,1-100 的整数,默认 50。 |
| ThirdBucketAuth | *api.OriginPoolBucketAuth | 否 | 对象存储鉴权配置,仅 BUCKET/DOMAIN(S3)类型需要。 |
api.OriginPoolBucketAuth 字段说明(仅 BOS/S3 鉴权场景使用):
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| AuthType | String | 是 | 鉴权类型:aws_v2、aws_v4(S3)、bos。 |
| Enabled | Bool | 是 | 私有访问鉴权开关,true 开启、false 关闭。 |
| Ak | *String | 否 | 仅 S3 生效,开启鉴权时必填。Access Key。 |
| Sk | *String | 否 | 仅 S3 生效,开启鉴权时必填。Secret Access Key。 |
| Bucket | *String | 否 | 仅 S3 生效。aws_v2 必填,aws_v4 无需设置。 |
| Region | *String | 否 | 仅 S3 生效。aws_v2 无需设置,aws_v4 选填默认 us-east-1。 |
| Service | *String | 否 | 仅 S3 生效。aws_v2 无需设置,aws_v4 选填默认 s3。 |
注:每个站点最多 50 个源站池,每个源站池最多 20 个源站。BOS 类型的 Ak/Sk/Bucket/Region/Service 无需传值。
查询源站池
Go
1cli := GetDefaultClient()
2resp, err := cli.QueryOriginPool(&api.QueryOriginPoolRequest{
3 Site: "your_site.com",
4 Name: "", // 可选,按源站池名称过滤
5 OriginPoolId: "", // 可选,按源站池 ID 过滤
6 PageNo: 1, // 可选,默认 1
7 PageSize: 10, // 可选,默认 10
8})
9if err != nil {
10 fmt.Printf("err:%+v\n", err)
11 return
12}
13result, _ := json.Marshal(resp)
14fmt.Printf("result: %s\n", result)
api.QueryOriginPoolRequest 字段说明:
| 字段 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Site | String | 是 | 站点名称。 |
| Name | String | 否 | 源站池名称过滤。 |
| OriginPoolId | String | 否 | 源站池 ID 过滤。 |
| PageNo | Int | 否 | 页码,默认 1。 |
| PageSize | Int | 否 | 每页条数,默认 10。 |
api.QueryOriginPoolResult 字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| OriginPools | []api.OriginPoolDetail | 源站池列表。 |
| PageNo | Int | 页码。 |
| PageSize | Int | 每页条数。 |
| Total | Int | 源站池总数。 |
api.OriginPoolDetail 字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| Id | Int | 索引 ID。 |
| Uid | String | 用户 ID。 |
| Site | String | 站点名称。 |
| Name | String | 源站池名称。 |
| OriginPoolId | String | 源站池 ID。 |
| Status | String | 源站池状态:ON 使用中,OFF 未使用。 |
| Count | Int | 源站数量。 |
| OriginConfig | []api.OriginPoolDetailItem | 源站配置列表。 |
| Instance | []api.OriginPoolInstance | 引用该源站池的实例(域名/规则引擎/负载均衡)。 |
| Slb | []interface{} | 拓展字段。 |
api.OriginPoolDetailItem 字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| Addr | String | 源站地址。 |
| Type | String | 源站类型。 |
| Host | *String | 回源 host 值。 |
| Weight | Int | 源站权重,默认 50。 |
| Backup | Bool | 是否主源站配置,恒为 false。 |
| ThirdBucketAuth | *api.OriginPoolBucketAuth | 对象存储鉴权配置,仅对象存储类型源站返回。 |
api.OriginPoolInstance 字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| Domain | String | 引用该源站池的域名。 |
| Name | String | 引用该源站池的规则引擎名称。 |
| LoadBalanceName | String | 引用该源站池的负载均衡名称。 |
| Type | String | 引用类型。 |
| Site | String | 引用方的所属站点。 |
修改源站池
Go
1cli := GetDefaultClient()
2originHost := "test.host.com"
3resp, err := cli.UpdateOriginPool("your_site.com", "geo_LGKm6ryALtnO", &api.OriginPoolConfig{
4 Name: "test",
5 OriginConfig: []api.OriginPoolItem{
6 {
7 Addr: "your.bos.bucket1.name",
8 Type: "BUCKET",
9 Host: &originHost,
10 Weight: 50,
11 ThirdBucketAuth: &api.OriginPoolBucketAuth{AuthType: "bos", Enabled: false},
12 },
13 {
14 Addr: "1.2.3.4",
15 Type: "IP",
16 Host: &originHost,
17 Weight: 50,
18 },
19 },
20})
21result, _ := json.Marshal(resp)
22fmt.Printf("result: %s\n", result)
23fmt.Printf("err:%+v\n", err)
参数说明:
| 参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| site | String | 是 | 站点名称。 |
| originPoolId | String | 是 | 要修改的源站池 ID。 |
| originPool | *api.OriginPoolConfig | 是 | 源站池配置,字段同创建。 |
删除源站池
Go
1cli := GetDefaultClient()
2resp, err := cli.DeleteOriginPool("your_site.com", "geo_tZhP32iF2mWU")
3result, _ := json.Marshal(resp)
4fmt.Printf("result: %s\n", result)
5fmt.Printf("err:%+v\n", err)
参数说明:
| 参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| site | String | 是 | 站点名称。 |
| originPoolId | String | 是 | 要删除的源站池 ID。 |
评价此篇文章
