Help Center/ Content Delivery Network/ API Reference/ API/ Analytics/ Setting an Analytics Configuration
Updated on 2026-08-12 GMT+08:00

Setting an Analytics Configuration

Function

This API is used to set an Analytics configuration.

Calling Method

For details, see Calling APIs.

URI

POST /v1/cdn/statistics/stats-configs

Request Parameters

Table 1 Request body parameters

Parameter

Mandatory

Type

Description

config_type

No

Integer

Definition

Configuration type.

Constraints

N/A

Range

  • 0: popular content statistics

  • 1: Cloud Eye reporting

Default Value

N/A

resource_type

Yes

String

Definition

Resource type.

Constraints

N/A

Range

  • domain: Domain name. Set resource_name to a domain name.

  • account: Account. Set resource_name to an account.

Default Value

N/A

resource_name

Yes

String

Definition

Resource name.

NOTE:
Account or domain name

Constraints

N/A

Range

Separate multiple resource names with commas (,).

Default Value

N/A

config_info

Yes

config_info object

Definition

Configuration information.

Constraints

N/A

Range

  • ua: value of the User-Agent field in the HTTP request header

  • refer: value of the referer field in the HTTP request header

  • url: HTTP URL accessed by the client

  • originurl: origin URL

Default Value

N/A

Table 2 config_info

Parameter

Mandatory

Type

Description

url

No

TopUrlinReq object

top_url configuration.

ua

No

TopUa object

top_ua configuration.

Table 3 TopUrlinReq

Parameter

Mandatory

Type

Description

enable

No

Boolean

Definition

Configuration status.

Constraints

N/A

Range

  • true: enabled

  • false: disabled

Default Value

N/A

Table 4 TopUa

Parameter

Mandatory

Type

Description

enable

No

Boolean

Definition

Configuration status.

Constraints

N/A

Range

  • true: enabled

  • false: disabled

Default Value

N/A

Response Parameters

Status code: 204

Success response.

Status code: default

Table 5 Response body parameters

Parameter

Type

Description

error

ErrMsg object

Error code and error message.

Table 6 ErrMsg

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Requests

Creating an Analytics configuration

post https://cdn.myhuaweicloud.com/v1/cdn/statistics/stats-configs

{
  "config_type" : 0,
  "resource_type" : "domain",
  "resource_name" : "all",
  "config_info" : {
    "url" : {
      "enable" : true
    },
    "ua" : {
      "enable" : true
    }
  }
}

Example Responses

None

SDK Sample Code

The SDK sample code is as follows.

Creating an Analytics configuration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.GlobalCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.cdn.v2.region.CdnRegion;
import com.huaweicloud.sdk.cdn.v2.*;
import com.huaweicloud.sdk.cdn.v2.model.*;


public class SetStatsConfigSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new GlobalCredentials()
                .withAk(ak)
                .withSk(sk);

        CdnClient client = CdnClient.newBuilder()
                .withCredential(auth)
                .withRegion(CdnRegion.valueOf("<YOUR REGION>"))
                .build();
        SetStatsConfigRequest request = new SetStatsConfigRequest();
        SetStatsConfigBody body = new SetStatsConfigBody();
        TopUa uaConfigInfo = new TopUa();
        uaConfigInfo.withEnable(true);
        TopUrlinReq urlConfigInfo = new TopUrlinReq();
        urlConfigInfo.withEnable(true);
        ConfigInfo configInfobody = new ConfigInfo();
        configInfobody.withUrl(urlConfigInfo)
            .withUa(uaConfigInfo);
        body.withConfigInfo(configInfobody);
        body.withResourceName("all");
        body.withResourceType("domain");
        body.withConfigType(0);
        request.withBody(body);
        try {
            SetStatsConfigResponse response = client.setStatsConfig(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Creating an Analytics configuration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import GlobalCredentials
from huaweicloudsdkcdn.v2.region.cdn_region import CdnRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcdn.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]

    credentials = GlobalCredentials(ak, sk)

    client = CdnClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CdnRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = SetStatsConfigRequest()
        uaConfigInfo = TopUa(
            enable=True
        )
        urlConfigInfo = TopUrlinReq(
            enable=True
        )
        configInfobody = ConfigInfo(
            url=urlConfigInfo,
            ua=uaConfigInfo
        )
        request.body = SetStatsConfigBody(
            config_info=configInfobody,
            resource_name="all",
            resource_type="domain",
            config_type=0
        )
        response = client.set_stats_config(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Creating an Analytics configuration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global"
    cdn "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdn/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth, err := global.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()

    if err != nil {
        fmt.Println(err)
        return
    }

    hcClient, err := cdn.CdnClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()


    if err != nil {
        fmt.Println(err)
        return
    }

    client := cdn.NewCdnClient(hcClient)

    request := &model.SetStatsConfigRequest{}
	enableUa:= true
	uaConfigInfo := &model.TopUa{
		Enable: &enableUa,
	}
	enableUrl:= true
	urlConfigInfo := &model.TopUrlinReq{
		Enable: &enableUrl,
	}
	configInfobody := &model.ConfigInfo{
		Url: urlConfigInfo,
		Ua: uaConfigInfo,
	}
	configTypeSetStatsConfigBody:= int32(0)
	request.Body = &model.SetStatsConfigBody{
		ConfigInfo: configInfobody,
		ResourceName: "all",
		ResourceType: "domain",
		ConfigType: &configTypeSetStatsConfigBody,
	}
	response, err := client.SetStatsConfig(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

204

Success response.

default

Error response.

Error Codes

See Error Codes.