Updated on 2024-11-06 GMT+08:00

Querying API Information

Function

This API is used to query API information.

Calling Method

For details, see Calling APIs.

URI

GET /v1/{project_id}/service/apis/{api_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Project ID and Account ID.

api_id

Yes

String

API ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. This parameter is mandatory when token authentication is used. You can obtain it from the value of X-Subject-Token in the response message header returned by the "Obtaining a User Token" API of the IAM service.

workspace

Yes

String

Workspace ID. For details about how to obtain the workspace ID, see Instance ID and Workspace ID.

Dlm-Type

No

String

Specifies the version type of the data service. The value can be SHARED or EXCLUSIVE.

Content-Type

Yes

String

Type (format) of the message body. This parameter is mandatory if the message body exists. If the message body does not exist, leave this parameter blank. If the request body contains Chinese characters, use charset=utf8 to specify the Chinese character set, for example, application/json;charset=utf8.

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

id

String

API ID

name

String

API name

group_id

String

ID of the group to which the API belongs (shared edition).

description

String

API description

protocol

String

API request protocol type.

Enumerated values:

  • PROTOCOL_TYPE_HTTP: HTTP

  • PROTOCOL_TYPE_HTTPS: HTTPS

publish_type

String

Publishing type (obsolete)

Enumerated values:

  • PUBLISH_TYPE_PUBLIC: public

  • PUBLISH_TYPE_PRIVATE: private

log_flag

Boolean

Indicates whether to enable the log recording function.

path

String

API URL.

host

String

Specifies the domain name of the shared edition.

hosts

InstanceHostDTO object

Exclusive domain name.

request_type

String

Request type

Enumerated values:

  • REQUEST_TYPE_POST: POST

  • REQUEST_TYPE_GET: GET

create_user

String

API creator.

create_time

Long

Creation time.

update_time

Long

Update time.

manager

String

Name of the API reviewer

status

String

API status (DataArts DataService Shared)

Enumerated values:

  • API_STATUS_CREATED: created

  • API_STATUS_PUBLISH_WAIT_REVIEW: waiting for review

  • API_STATUS_PUBLISH_REJECT: rejected

  • API_STATUS_PUBLISHED: published

  • API_STATUS_WAITING_STOP: waiting to be stopped

  • API_STATUS_STOPPED: stopped

  • API_STATUS_RECOVER_WAIT_REVIEW: waiting to be recovered

  • API_STATUS_WAITING_OFFLINE: waiting to be suspended

  • API_STATUS_OFFLINE: suspended

  • API_STATUS_OFFLINE_WAIT_REVIEW: waiting to be reviewed for suspension

type

String

API type

Enumerated values:

  • API_SPECIFIC_TYPE_CONFIGURATION: configuration API

  • API_SPECIFIC_TYPE_SCRIPT: script API

  • API_SPECIFIC_TYPE_REGISTER: registered API

debug_status

String

API debugging status (DataArts DataService Shared)

Enumerated values:

  • API_DEBUG_WAITING: waiting to be debugged

  • API_DEBUG_FAILED: debugging failed

  • API_DEBUG_SUCCESS: debugging successful

publish_messages

Array of ApiPublishDTO objects

Release information list (exclusive edition).

request_paras

Array of RequestPara objects

API request parameter.

datasource_config

DatasourceConfig object

Configure the data source.

backend_config

BackendConfig object

Backend settings:

Table 4 InstanceHostDTO

Parameter

Type

Description

instance_id

String

Cluster ID

instance_name

String

Cluster name.

intranet_host

String

Internal IP address.

external_host

String

External IP address.

domains

Array of strings

Domain name of the gateway.

Table 5 ApiPublishDTO

Parameter

Type

Description

id

String

Release ID.

api_id

String

API ID

instance_id

String

Cluster ID

instance_name

String

Cluster Name

api_status

String

API status (DataArts DataService Shared)

Enumerated values:

  • API_STATUS_CREATED: created

  • API_STATUS_PUBLISH_WAIT_REVIEW: waiting for review

  • API_STATUS_PUBLISH_REJECT: rejected

  • API_STATUS_PUBLISHED: published

  • API_STATUS_WAITING_STOP: waiting to be stopped

  • API_STATUS_STOPPED: stopped

  • API_STATUS_RECOVER_WAIT_REVIEW: waiting to be recovered

  • API_STATUS_WAITING_OFFLINE: waiting to be suspended

  • API_STATUS_OFFLINE: suspended

  • API_STATUS_OFFLINE_WAIT_REVIEW: waiting to be reviewed for suspension

api_debug

String

API debugging status (DataArts DataService Shared)

Enumerated values:

  • API_DEBUG_WAITING: waiting to be debugged

  • API_DEBUG_FAILED: debugging failed

  • API_DEBUG_SUCCESS: debugging successful

Table 6 RequestPara

Parameter

Type

Description

name

String

Parameter name

position

String

Parameter position

Enumerated values:

  • REQUEST_PARAMETER_POSITION_PATH: request path

  • REQUEST_PARAMETER_POSITION_HEADER: request header

  • REQUEST_PARAMETER_POSITION_QUERY: request query

type

String

Constant parameter type

Enumerated values:

  • REQUEST_PARAMETER_TYPE_NUMBER: number

  • REQUEST_PARAMETER_TYPE_STRING: string

description

String

Parameter description.

necessary

Boolean

Indicates whether a parameter is mandatory.

example_value

String

Example value

default_value

String

Default value.

support_null

Boolean

Null supported

Table 7 DatasourceConfig

Parameter

Type

Description

type

String

Data source type.

Enumerated values:

  • MYSQL

  • DLI

  • DWS

  • HIVE

  • HBASE

connection_name

String

Name of a data connection.

connection_id

String

Data connection ID.

database

String

Indicates the database name.

datatable

String

Name of a data table.

table_id

String

Data table ID.

queue

String

Queue name of DLI.

access_mode

String

Mode for obtaining data

Enumerated values:

  • SQL: SQL

  • ROW_KEY: ROW_KEY, available only for HBase

  • PREFIX_FILTER: PREFIX_FILTER, available only for HBase

access_type

String

Mode for obtaining data (obsolete)

Enumerated values:

  • SCRIPT: script

  • CONFIGURAITON: configuration

pagination

String

Pagination mode

Enumerated values:

  • DEFAULT: default

  • CUSTOM: custom

sql

String

SQL statement in script mode

backend_paras

Array of ApiRequestPara objects

API backend parameter.

response_paras

Array of ApiResponsePara objects

Return parameters of configuration APIs.

order_paras

Array of DatasourceOrderPara objects

Sorting parameter.

total_size_sql

String

SQL script for calculating the total number of records

Table 8 ApiRequestPara

Parameter

Type

Description

name

String

Parameter name

mapping

String

Mapping field.

condition

String

Operator

Enumerated values:

  • CONDITION_TYPE_EQ: equal to

  • CONDITION_TYPE_NE: not equal to

  • CONDITION_TYPE_GT: greater than

  • CONDITION_TYPE_GE: greater than or equal to

  • CONDITION_TYPE_LT: less than

  • CONDITION_TYPE_LE: less than or equal to

  • CONDITION_TYPE_LIKE: fuzzy search, such as %like%

  • CONDITION_TYPE_LIKE_L: fuzzy search, such as %like

  • CONDITION_TYPE_LIKE_R: fuzzy search, such as like%

Table 9 ApiResponsePara

Parameter

Type

Description

name

String

Parameter name

field

String

Bound table field.

type

String

Constant parameter type

Enumerated values:

  • REQUEST_PARAMETER_TYPE_NUMBER: number

  • REQUEST_PARAMETER_TYPE_STRING: string

description

String

Parameter description.

example_value

String

Example value of a parameter.

Table 10 DatasourceOrderPara

Parameter

Type

Description

name

String

Name of a sorting parameter.

field

String

Indicates the corresponding parameter field.

optional

Boolean

Indicates whether the parameter is optional.

sort

String

Sorting method

Enumerated values:

  • ASC: ascending order

  • DESC: descending order

  • CUSTOM: custom order

order

Integer

Sequence of sorting parameters.

description

String

Sorting parameter description

Table 11 BackendConfig

Parameter

Type

Description

type

String

Request type

  • REQUEST_TYPE_POST: POST request

  • REQUEST_TYPE_GET: GET request

protocol

String

API request protocol type

  • PROTOCOL_TYPE_HTTP: HTTP

  • PROTOCOL_TYPE_HTTPS: HTTPS

host

String

Backend host

timeout

Integer

Backend timeout interval.

path

String

Backend request path

backend_paras

Array of BackendRequestPara objects

API backend parameter.

constant_paras

Array of BackendConstant objects

Backend constant parameter.

Table 12 BackendRequestPara

Parameter

Type

Description

name

String

API request parameter name

position

String

Parameter position

Enumerated values:

  • REQUEST_PARAMETER_POSITION_PATH: request path

  • REQUEST_PARAMETER_POSITION_HEADER: request header

  • REQUEST_PARAMETER_POSITION_QUERY: request query

backend_para_name

String

Backend parameter.

Table 13 BackendConstant

Parameter

Type

Description

name

String

Name of a constant parameter.

type

String

Constant parameter type

Enumerated values:

  • REQUEST_PARAMETER_TYPE_NUMBER: number

  • REQUEST_PARAMETER_TYPE_STRING: string

position

String

Parameter position

Enumerated values:

  • REQUEST_PARAMETER_POSITION_PATH: request path

  • REQUEST_PARAMETER_POSITION_HEADER: request header

  • REQUEST_PARAMETER_POSITION_QUERY: request query

description

String

Constant parameter description.

value

String

Constant parameter value.

Status code: 400

Table 14 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Requests

Query the API whose ID is 10e3a4b67f59a9efe64e6bb31859221f.

/v1/0833a5737480d53b2f250010d01a7b88/service/apis/10e3a4b67f59a9efe64e6bb31859221f

Example Responses

Status code: 200

Success

{
  "id" : "6b9e682fd6d0ef7c0f674701adb20762",
  "name" : "testApi",
  "group_id" : "677942eeca42b85d82fcef909d8345f4",
  "description" : "",
  "protocol" : "PROTOCOL_TYPE_HTTP",
  "publish_type" : "PUBLISH_TYPE_PUBLIC",
  "log_flag" : true,
  "path" : "/testApi/{a}",
  "host" : null,
  "hosts" : null,
  "request_type" : "REQUEST_TYPE_POST",
  "create_time" : 1579162215000,
  "update_time" : 1579162691000,
  "manager" : "admin",
  "status" : "API_STATUS_CREATED",
  "type" : "API_SPECIFIC_TYPE_CONFIGURATION",
  "debug_status" : "API_DEBUG_WAITING",
  "request_paras" : [ {
    "name" : "a",
    "position" : "REQUEST_PARAMETER_POSITION_PATH",
    "type" : "REQUEST_PARAMETER_TYPE_NUMBER",
    "description" : "",
    "necessary" : false,
    "example_value" : "",
    "default_value" : ""
  }, {
    "name" : "b",
    "position" : "REQUEST_PARAMETER_POSITION_HEADER",
    "type" : "REQUEST_PARAMETER_TYPE_NUMBER",
    "description" : "",
    "necessary" : false,
    "example_value" : "",
    "default_value" : ""
  }, {
    "name" : "c",
    "position" : "REQUEST_PARAMETER_POSITION_QUERY",
    "type" : "REQUEST_PARAMETER_TYPE_NUMBER",
    "description" : "",
    "necessary" : false,
    "example_value" : "",
    "default_value" : ""
  } ],
  "datasource_config" : null,
  "backend_config" : {
    "type" : "REQUEST_TYPE_GET",
    "protocol" : "PROTOCOL_TYPE_HTTP",
    "timeout" : "100",
    "host" : "www.baidu.com",
    "path" : "/testApi/{d}/{g}",
    "backend_paras" : [ {
      "name" : "a",
      "position" : "REQUEST_PARAMETER_POSITION_PATH",
      "backend_para_name" : "d"
    }, {
      "name" : "b",
      "position" : "REQUEST_PARAMETER_POSITION_QUERY",
      "backend_para_name" : "e"
    }, {
      "name" : "c",
      "position" : "REQUEST_PARAMETER_POSITION_HEADER",
      "backend_para_name" : "f"
    } ],
    "constant_paras" : [ {
      "name" : "g",
      "type" : "REQUEST_PARAMETER_TYPE_NUMBER",
      "position" : "REQUEST_PARAMETER_POSITION_PATH",
      "description" : "",
      "value" : "1"
    }, {
      "name" : "h",
      "type" : "REQUEST_PARAMETER_TYPE_NUMBER",
      "position" : "REQUEST_PARAMETER_POSITION_QUERY",
      "description" : "",
      "value" : "1"
    }, {
      "name" : "j",
      "type" : "REQUEST_PARAMETER_TYPE_NUMBER",
      "position" : "REQUEST_PARAMETER_POSITION_HEADER",
      "description" : "",
      "value" : "1"
    } ]
  }
}

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


public class ShowApiSolution {

    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");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        DataArtsStudioClient client = DataArtsStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(DataArtsStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowApiRequest request = new ShowApiRequest();
        request.withApiId("{api_id}");
        try {
            ShowApiResponse response = client.showApi(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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdataartsstudio.v1.region.dataartsstudio_region import DataArtsStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdataartsstudio.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"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

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

    try:
        request = ShowApiRequest()
        request.api_id = "{api_id}"
        response = client.show_api(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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dataartsstudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/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")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := dataartsstudio.NewDataArtsStudioClient(
        dataartsstudio.DataArtsStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowApiRequest{}
	request.ApiId = "{api_id}"
	response, err := client.ShowApi(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

Success

400

Bad request