Updated on 2024-07-29 GMT+08:00

Querying OpenAPI Calls

Function

This API is used to query OpenAPI calling records.

Calling Method

For details, see Calling APIs.

URI

GET /v1/{project_id}/openapi/called-records

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

limit

No

Integer

Page size. The default value is 1000, and the maximum value is 2000.

called_url

No

String

URL of the calling records. Example: /v1/{project_id}/sdg/database/watermark/embed

start_time

No

Long

Start time of the calling records (Unix timestamp in milliseconds). Example: 0

end_time

No

Long

End time of the calling records (Unix timestamp in milliseconds). Example: 1638515803572

marker

No

String

Marker of the next page. This parameter is not required for the first page. You need to set this parameter to a return value in the first page of the query results for the next page.

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

total

Integer

Total number of API calls

succeed

Integer

Number of successful calls

failed

Integer

Number of failed calls

openapi_called_records

Array of OpenApiCalledRecord objects

List of OpenAPI calls

next_marker

String

Marker of the next page

Table 4 OpenApiCalledRecord

Parameter

Type

Description

user_name

String

Name of the user that called the APIs

user_id

String

ID of the user that called the APIs

domain_name

String

Domain name of the API calls

domain_id

String

Domain IDs of the API calls

request_url

String

URL of the API calls

request_method

String

HTTP request method

response_code

String

HTTP request code

fail_reason

String

Failure cause

timestamp

Long

Time of the calls (Unix timestamp, in milliseconds)

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error Code

error_msg

String

Error Message

Example Requests

Querying OpenAPI Calls

GET /v1/{project_id}/openapi/called-records

Example Responses

Status code: 200

OK

{
  "total" : 11,
  "succeed" : 11,
  "failed" : 0,
  "openapi_called_records" : [ {
    "user_name" : "xxxxxxxxxxxxx",
    "user_id" : "xxxxxxxxxxxxxxxxx",
    "domain_name" : "xxxxxxxxxxxxxxxxx",
    "domain_id" : "xxxxxxxxxxxxxxxxxxx",
    "request_url" : "/v1/xxxxxxxxxxxxxxxxxxxxxxxxxxx/sdg/doc/watermark/embed",
    "request_method" : "POST",
    "response_code" : "200",
    "fail_reason" : "",
    "timestamp" : 1638427576524
  } ],
  "next_marker" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Status code: 400

Invalid request

{
  "error_code" : "dsc.40000011",
  "error_msg" : "Invalid parameter"
}

SDK Sample Code

The SDK sample code is as follows.

 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
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.dsc.v1.region.DscRegion;
import com.huaweicloud.sdk.dsc.v1.*;
import com.huaweicloud.sdk.dsc.v1.model.*;


public class ShowOpenApiCalledRecordsSolution {

    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);

        DscClient client = DscClient.newBuilder()
                .withCredential(auth)
                .withRegion(DscRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowOpenApiCalledRecordsRequest request = new ShowOpenApiCalledRecordsRequest();
        request.withLimit(<limit>);
        request.withCalledUrl("<called_url>");
        request.withStartTime(<start_time>L);
        request.withEndTime(<end_time>L);
        request.withMarker("<marker>");
        try {
            ShowOpenApiCalledRecordsResponse response = client.showOpenApiCalledRecords(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());
        }
    }
}
 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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdsc.v1.region.dsc_region import DscRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdsc.v1 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 = DscClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DscRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowOpenApiCalledRecordsRequest()
        request.limit = <limit>
        request.called_url = "<called_url>"
        request.start_time = <start_time>
        request.end_time = <end_time>
        request.marker = "<marker>"
        response = client.show_open_api_called_records(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 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
package main

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

    client := dsc.NewDscClient(
        dsc.DscClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowOpenApiCalledRecordsRequest{}
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	calledUrlRequest:= "<called_url>"
	request.CalledUrl = &calledUrlRequest
	startTimeRequest:= int64(<start_time>)
	request.StartTime = &startTimeRequest
	endTimeRequest:= int64(<end_time>)
	request.EndTime = &endTimeRequest
	markerRequest:= "<marker>"
	request.Marker = &markerRequest
	response, err := client.ShowOpenApiCalledRecords(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

200

OK

400

Invalid request

Error Codes

See Error Codes.