更新时间:2024-07-29 GMT+08:00

查询指定任务扫描结果

功能介绍

查询指定任务扫描结果

调用方法

请参见如何调用API

URI

GET /v1/{project_id}/sdg/scan/job/{job_id}/results

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

job_id

String

任务ID

表2 Query参数

参数

是否必选

参数类型

描述

offset

Integer

页码

limit

Integer

分页大小

type

String

资产类型

枚举值:

  • DATABASE

  • OBS

  • BIGDATA

请求参数

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

job_id

String

任务ID

job_name

String

任务名

type

String

查询资产类型

db_scan_result

DbScanResult object

数据库扫描结果

obs_scan_result

ObsScanResult object

OBS扫描结果

es_scan_result

EsScanResult object

ES扫描结果

表4 DbScanResult

参数

参数类型

描述

total

Integer

扫描结果总数

db_scan_results

Array of DbScanResultInfo objects

数据库扫描结果列表

表5 DbScanResultInfo

参数

参数类型

描述

task_id

String

任务ID

db_name

String

数据库名称

table_id

String

表ID

table_name

String

表名称

risk_level

Integer

风险等级

sensitive_data_type

Array of strings

匹配到的规则

match_info

Array of DbMatchInfo objects

表中各列匹配到的规则

表6 DbMatchInfo

参数

参数类型

描述

column_name

String

列名

rule_name

String

匹配的规则名

rule_id

String

匹配的规则ID

rule_risk_level

Integer

匹配规则风险等级

column_line

Array of longs

风险数据行

表7 ObsScanResult

参数

参数类型

描述

total

Integer

扫描结果总数

db_scan_results

Array of ObsScanResultInfo objects

OBS扫描结果列表

表8 ObsScanResultInfo

参数

参数类型

描述

task_id

String

任务ID

bucket_id

String

OBS桶ID

bucket_name

String

OBS桶名称

file_path

String

文件路径

file_name

String

文件名

md5

String

文件md5值

risk_level

Integer

风险等级

sensitive_data_type

Array of strings

风险数据类型

表9 EsScanResult

参数

参数类型

描述

total

Integer

扫描结果总数

db_scan_results

Array of EsScanResultInfo objects

ES扫描结果列表

表10 EsScanResultInfo

参数

参数类型

描述

task_id

String

任务ID

index_name

String

索引名

type_id

String

类型ID

type_name

String

类型名

risk_level

Integer

风险等级

sensitive_data_type

Array of strings

敏感数据类型

match_info

Array of EsMatchInfo objects

规则匹配具体信息

表11 EsMatchInfo

参数

参数类型

描述

field_name

String

数据字段名

rule_name

String

规则名

rule_id

String

规则ID

rule_risk_level

Integer

规则风险等级

状态码: 400

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

查询指定任务扫描结果

GET /v1/{project_id}/sdg/scan/job/{job_id}/results

响应示例

状态码: 200

OK

{
  "job_id" : "xxxxxx",
  "job_name" : "xxxxxx",
  "type" : "DATABASE",
  "db_scan_result" : {
    "total" : 1,
    "db_scan_results" : [ {
      "task_id" : "xxxxxx",
      "db_name" : "xxxxxx",
      "table_id" : "xxxxxx",
      "table_name" : "student",
      "risk_level" : 6,
      "sensitive_data_type" : [ "xxxxxx", "xxxxxx" ],
      "match_info" : [ {
        "column_name" : "phone",
        "rule_name" : "xxxxxx",
        "rule_id" : "xxxxxx",
        "rule_risk_level" : 6,
        "column_line" : [ 1, 3 ]
      }, {
        "column_name" : "email",
        "rule_name" : "xxxxxx",
        "rule_id" : "xxxxxx",
        "rule_risk_level" : 1,
        "column_line" : [ 1, 3 ]
      } ]
    } ]
  },
  "obs_scan_result" : null,
  "es_scan_result" : null
}

状态码: 400

无效请求

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

SDK代码示例

SDK代码示例如下。

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


public class ShowScanJobResultsSolution {

    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();
        ShowScanJobResultsRequest request = new ShowScanJobResultsRequest();
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        request.withType(ShowScanJobResultsRequest.TypeEnum.fromValue("<type>"));
        try {
            ShowScanJobResultsResponse response = client.showScanJobResults(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
# 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 = ShowScanJobResultsRequest()
        request.offset = <offset>
        request.limit = <limit>
        request.type = "<type>"
        response = client.show_scan_job_results(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
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.ShowScanJobResultsRequest{}
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	typeRequest:= model.GetShowScanJobResultsRequestTypeEnum().<TYPE>
	request.Type = &typeRequest
	response, err := client.ShowScanJobResults(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

OK

400

无效请求

错误码

请参见错误码