Help Center/ Domain Name Service/ API Reference/ APIs/ Access Logging Management/ Creating a Resolver Access Logging Configuration
Updated on 2026-09-28 GMT+08:00

Creating a Resolver Access Logging Configuration

Function

This API is used to create a resolver access logging configuration.

Calling Method

For details, see Calling APIs.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, no identity policy-based permission required for calling this API.

URI

POST /v2/resolver/queryloggingconfig

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token, which is used for identity authentication. It must be carried in the request header to verify the user identity during API calls.

You can obtain it by calling the IAM API for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

For details about how to obtain a user token, see Obtaining a User Token.

Constraints

N/A

Range

N/A

Default Value

N/A

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

lts_group_id

Yes

String

Definition

Log group ID. You can obtain the ID from the LTS console or by calling an API.

Constraints

N/A

Range

N/A

Default Value

N/A

lts_topic_id

Yes

String

Definition

Log stream ID. You can obtain the ID from the LTS console or by calling an API.

Constraints

N/A

Range

N/A

Default Value

N/A

vpc

Yes

Vpc object

Definition

Associated VPC.

Constraints

N/A

Table 3 Vpc

Parameter

Mandatory

Type

Description

vpc_id

Yes

String

Definition

ID of the VPC, which is used to specify the VPC to be associated. To obtain the value, call the API for querying the VPC list.

Constraints

N/A

Range

N/A

Default Value

N/A

vpc_region

No

String

Definition

Region where the associated VPC is located. If this parameter is not specified, the current request region is used by default. To obtain the region ID, you can call the API for querying regions or see Regions and Endpoints.

Constraints

N/A

Range

N/A

Default Value

N/A

Response Parameters

Status code: 202

Table 4 Response body parameters

Parameter

Type

Description

resolver_query_log_config

ResolverQueryLogConfig object

Definition

Resolver access log object. The configuration information of the associated Resolver access log is returned.

Table 5 ResolverQueryLogConfig

Parameter

Type

Description

id

String

Definition

ID of a Resolver access log. It is a resource identifier in UUID format and is used to identify a Resolver access log configuration. It can be used for subsequent query, update, or deletion operations.

Range

N/A

lts_group_id

String

Definition

Log group ID. It identifies a log group in LTS. The Resolver access logs are stored in this log group.

Range

N/A

lts_topic_id

String

Definition

Log stream ID. It identifies a log stream in LTS. The Resolver access logs are stored in this log stream.

Range

N/A

vpc_ids

Array of strings

Definition

IDs of associated VPCs. All IDs of VPCs associated with the Resolver access log configuration are returned. This field is a string array. Each element is a VPC ID.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

code

String

Definition

Error code

Range

N/A

message

String

Definition

Error description

Range

N/A

Status code: 500

Table 7 Response body parameters

Parameter

Type

Description

code

String

Definition

Error code

Range

N/A

message

String

Definition

Error description

Range

N/A

Example Requests

Creating a resolver access logging configuration

POST https://{Endpoint}/v2/resolver/queryloggingconfig

{
  "lts_group_id" : "7c89b584-8984-405f-862e-b3bc0d791405",
  "lts_topic_id" : "8c8785f6-aad7-41c1-9c88-9c500d2ac435",
  "vpc" : {
    "vpc_id" : "ce84922c-5da5-4d09-89ac-d5f9de878a51",
    "vpc_region" : "xx"
  }
}

Example Responses

Status code: 202

{
  "resolver_query_log_config" : {
    "id" : "2f9bd47dbdab4d74a02e1484d68401ea",
    "lts_group_id" : "7c89b584-8984-405f-862e-b3bc0d791405",
    "lts_topic_id" : "8c8785f6-aad7-41c1-9c88-9c500d2ac435",
    "vpc_ids" : [ "ce84922c-5da5-4d09-89ac-d5f9de878a51" ]
  }
}

SDK Sample Code

The SDK sample code is as follows.

Creating a resolver access logging 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
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
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.dns.v2.region.DnsRegion;
import com.huaweicloud.sdk.dns.v2.*;
import com.huaweicloud.sdk.dns.v2.model.*;


public class CreateResolverQueryLogConfigSolution {

    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 BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        DnsClient client = DnsClient.newBuilder()
                .withCredential(auth)
                .withRegion(DnsRegion.valueOf("<YOUR REGION>"))
                .build();
        CreateResolverQueryLogConfigRequest request = new CreateResolverQueryLogConfigRequest();
        CreateResolverQueryLogConfigRequestBody body = new CreateResolverQueryLogConfigRequestBody();
        Vpc vpcbody = new Vpc();
        vpcbody.withVpcId("ce84922c-5da5-4d09-89ac-d5f9de878a51")
            .withVpcRegion("xx");
        body.withVpc(vpcbody);
        body.withLtsTopicId("8c8785f6-aad7-41c1-9c88-9c500d2ac435");
        body.withLtsGroupId("7c89b584-8984-405f-862e-b3bc0d791405");
        request.withBody(body);
        try {
            CreateResolverQueryLogConfigResponse response = client.createResolverQueryLogConfig(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 a resolver access logging 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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdns.v2.region.dns_region import DnsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdns.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 = BasicCredentials(ak, sk)

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

    try:
        request = CreateResolverQueryLogConfigRequest()
        vpcbody = Vpc(
            vpc_id="ce84922c-5da5-4d09-89ac-d5f9de878a51",
            vpc_region="xx"
        )
        request.body = CreateResolverQueryLogConfigRequestBody(
            vpc=vpcbody,
            lts_topic_id="8c8785f6-aad7-41c1-9c88-9c500d2ac435",
            lts_group_id="7c89b584-8984-405f-862e-b3bc0d791405"
        )
        response = client.create_resolver_query_log_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 a resolver access logging 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dns "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/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 := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()

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

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


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

    client := dns.NewDnsClient(hcClient)

    request := &model.CreateResolverQueryLogConfigRequest{}
	vpcRegionVpc:= "xx"
	vpcbody := &model.Vpc{
		VpcId: "ce84922c-5da5-4d09-89ac-d5f9de878a51",
		VpcRegion: &vpcRegionVpc,
	}
	request.Body = &model.CreateResolverQueryLogConfigRequestBody{
		Vpc: vpcbody,
		LtsTopicId: "8c8785f6-aad7-41c1-9c88-9c500d2ac435",
		LtsGroupId: "7c89b584-8984-405f-862e-b3bc0d791405",
	}
	response, err := client.CreateResolverQueryLogConfig(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

202

Creating a resolver access logging configuration

400

Error response.

500

Error response.

Error Codes

See Error Codes.