跳转至

获取分发配置信息

1. 接口描述

接口请求路径:GET /prod-api/acdn/cloudfrontRest/getDistributionSetting/{distributionId}

getDistributionSetting 用于查询指定海外 ACDN 分发的基础信息与常规配置(价格级别、CNAME、证书、日志、HTTP 版本等)。账号需具备 acdn:DescribeAllDistribution 权限。

Token 获取方式见 密钥鉴权

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
distributionId Long Path 参数。分发主键 ID。示例值:38

3. 输出参数

参数名称 类型 描述
code Integer 状态码。示例值:200
msg String 提示信息。示例值:操作成功
data Object 分发配置数据
data.distributionInfo DistributionInfo 分发基础信息
data.distributionSetting DistributionSetting 分发常规配置

4. 示例

示例1 查询分发配置

输入示例

GET /prod-api/acdn/cloudfrontRest/getDistributionSetting/38

代码调用

请将 {登录域名}token 替换为实际值。

curl -X GET 'https://{登录域名}/prod-api/acdn/cloudfrontRest/getDistributionSetting/38' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.xxxxxx'
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class GetDistributionSettingTest {

    public static void main(String[] args) throws Exception {
        String url = "https://{登录域名}/prod-api/acdn/cloudfrontRest/getDistributionSetting/38";
        String token = "eyJhbGciOiJIUzUxMiJ9.xxxxxx";

        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet httpGet = new HttpGet(url);
            httpGet.setHeader("Authorization", "Bearer " + token);

            try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
                int statusCode = response.getStatusLine().getStatusCode();
                String body = EntityUtils.toString(response.getEntity(), "UTF-8");
                System.out.println("Status Code: " + statusCode);
                System.out.println("Body: " + body);
            }
        }
    }
}
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    url := "https://{登录域名}/prod-api/acdn/cloudfrontRest/getDistributionSetting/38"
    token := "eyJhbGciOiJIUzUxMiJ9.xxxxxx"

    req, err := http.NewRequest(http.MethodGet, url, nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer "+token)

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }
    fmt.Println("Status Code:", resp.StatusCode)
    fmt.Println("Body:", string(body))
}

输出示例

{
  "msg": "操作成功",
  "code": 200,
  "data": {
    "distributionInfo": {
      "lastTime": "2024-01-04 16:13:40",
      "distributionDomainName": "d111111abcdef8.cloudfront.net",
      "id": "E1234567890ABC",
      "arn": "arn:aws:cloudfront::123456789012:distribution/E1234567890ABC"
    },
    "distributionSetting": {
      "bucket": "logging-bucket.s3.amazonaws.com",
      "isCookie": false,
      "priceClass": "PriceClass_All",
      "isIpV6": true,
      "cName": {
        "quantity": 1,
        "items": ["cdn.example.com"]
      },
      "sslCertificateId": "arn:aws:acm:us-east-1:123456789012:certificate/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "comment": "demo distribution",
      "defaultRootObject": "",
      "protocolVersionType": "TLSv1.2_2021",
      "isLogging": true,
      "webACLId": "",
      "isHttpVersion": "http2"
    }
  }
}

5. 错误码

HTTP 状态码 / 业务提示 描述
200 成功
401 未鉴权或 Token 无效
403 无权限
id不能为空! 未传入 distributionId
无有效id 分发不存在或不属于当前账号

6. 数据模型

DistributionInfo

分发基础信息。

参数名称 类型 描述
lastTime String 最近修改时间。示例值:2024-01-04 16:13:40
distributionDomainName String 分发域名。示例值:d111111abcdef8.cloudfront.net
id String CloudFront 分发 ID。示例值:E1234567890ABC
arn String 分发 ARN

DistributionSetting

分发常规配置。

参数名称 类型 描述
bucket String 标准日志存储桶域名。示例值:logging-bucket.s3.amazonaws.com
isCookie Boolean 是否记录 Cookie。示例值:false
priceClass String 价格级别。取值:PriceClass_All(使用所有边缘站点)、PriceClass_100(仅北美洲和欧洲)、PriceClass_200(北美洲、欧洲、亚洲、中东和非洲)。示例值:PriceClass_All
isIpV6 Boolean 是否启用 IPv6。示例值:true
cName Aliases 备用域名(CNAME)
sslCertificateId String SSL 证书 ARN
comment String 说明
defaultRootObject String 默认根对象
protocolVersionType String 安全策略。取值:TLSv1.2_2021TLSv1.2_2019TLSv1.2_2018TLSv1.1_2016TLSv1_2016TLSv1。示例值:TLSv1.2_2021
isLogging Boolean 是否开启标准日志。示例值:true
webACLId String WAF Web ACL ID
isHttpVersion String HTTP 版本。示例值:http2

Aliases

备用域名集合。

参数名称 类型 描述
quantity Integer CNAME 数量。示例值:1
items Array of String CNAME 列表。示例值:["cdn.example.com"]