Help Center/ Content Delivery Network/ API Reference/ API/ Analytics/ Setting an Analytics Configuration
Updated on 2025-09-16 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

Configuration type. 0: popular content statistics.

resource_type

Yes

String

Resource type. domain:resource_name: domain name. account:resource_name: account.

resource_name

Yes

String

Resource name, which is an account or a list of domain names. Separate domain names with commas (,).

config_info

Yes

config_info object

Configuration information. Top N metrics support only user agent, referer, URL, and origin URL.

expired_time

No

Long

Time when the Analytics configuration expires. The value is a timestamp in seconds. The time cannot be one year later than the current time.

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

Configuration status.

Table 4 TopUa

Parameter

Mandatory

Type

Description

enable

No

Boolean

Configuration status.

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" : "www.example.com",
  "resource_name" : "all",
  "config_info" : {
    "url" : {
      "enable" : true
    },
    "ura" : {
      "enable" : true
    }
  },
  "expired_time" : 1712678400
}

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
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();
        TopUrlinReq urlConfigInfo = new TopUrlinReq();
        urlConfigInfo.withEnable(true);
        ConfigInfo configInfobody = new ConfigInfo();
        configInfobody.withUrl(urlConfigInfo);
        body.withExpiredTime(1712678400L);
        body.withConfigInfo(configInfobody);
        body.withResourceName("all");
        body.withResourceType("www.example.com");
        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
# 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()
        urlConfigInfo = TopUrlinReq(
            enable=True
        )
        configInfobody = ConfigInfo(
            url=urlConfigInfo
        )
        request.body = SetStatsConfigBody(
            expired_time=1712678400,
            config_info=configInfobody,
            resource_name="all",
            resource_type="www.example.com",
            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
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 := global.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := cdn.NewCdnClient(
        cdn.CdnClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.SetStatsConfigRequest{}
	enableUrl:= true
	urlConfigInfo := &model.TopUrlinReq{
		Enable: &enableUrl,
	}
	configInfobody := &model.ConfigInfo{
		Url: urlConfigInfo,
	}
	expiredTimeSetStatsConfigBody:= int64(1712678400)
	configTypeSetStatsConfigBody:= int32(0)
	request.Body = &model.SetStatsConfigBody{
		ExpiredTime: &expiredTimeSetStatsConfigBody,
		ConfigInfo: configInfobody,
		ResourceName: "all",
		ResourceType: "www.example.com",
		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.