文档首页/ 企业主机安全 HSS/ API参考/ API说明/ 病毒查杀/ 查看病毒扫描任务列表 - ListAntiVirusTask
更新时间:2025-12-26 GMT+08:00
分享

查看病毒扫描任务列表 - ListAntiVirusTask

功能介绍

查看病毒扫描任务列表。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

GET /v5/{project_id}/antivirus/task

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,用于明确项目归属,配置后可通过该ID查询项目下资产。获取方式请参见获取项目ID

约束限制:

不涉及

取值范围:

字符长度1-256位

默认取值:

不涉及

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

参数解释:

企业项目ID,用于过滤不同企业项目下的资产。获取方式请参见获取企业项目ID

如需查询所有企业项目下的资产请传参“all_granted_eps”。

约束限制:

开通企业项目功能后才需要配置企业项目ID参数。

取值范围:

字符长度1-256位

默认取值:

0,表示默认企业项目(default)。

task_name

String

参数解释:

任务名称

约束限制:

不涉及

取值范围:

字符长度1-128位

默认取值:

不涉及

offset

Integer

参数解释:

偏移量:指定返回记录的开始位置

约束限制:

不涉及

取值范围:

最小值0,最大值2000000

默认取值:

不涉及

limit

Integer

参数解释:

每页显示个数

约束限制:

不涉及

取值范围:

取值10-200

默认取值:

10

last_days

Integer

参数解释:

查询时间范围天数

约束限制:

与begin_time、end_time互斥,不可同时传参,优先按last_days筛选

取值范围:

最小值1,最大值90(支持查询近90天内任务)

默认取值:

不涉及

begin_time

String

参数解释

自定义筛选任务的开始时间(任务启动时间≥该时间)

约束限制

与last_days互斥,需与end_time同时传参,格式需合法

取值范围

UTC时区,格式为YYYY-MM-DD HH:MM:SS

默认取值

不涉及

end_time

String

参数解释

自定义筛选任务的结束时间(任务启动时间≤该时间)

约束限制

与last_days互斥,需与begin_time同时传参,且需大于等于begin_time

取值范围

UTC时区,格式为YYYY-MM-DD HH:MM:SS

默认取值

不涉及

task_status

String

参数解释:

任务状态

约束限制:

不涉及

取值范围:

包含如下4种

  • scanning:扫描中

  • cancel:已取消

  • fail:扫描失败

  • finish:已完成

默认取值:

不涉及

host_name

String

参数解释:

服务器名称

约束限制:

不涉及

取值范围:

字符长度1-256位

默认取值:

不涉及

private_ip

String

参数解释:

服务器私有IP

约束限制:

不涉及

取值范围:

字符长度1-128位

默认取值:

不涉及

public_ip

String

参数解释:

服务器弹性IP地址

约束限制:

不涉及

取值范围:

IPv4格式(长度7-15位)、IPv6格式(长度15-39位)

默认取值:

whether_paid_task

Boolean

参数解释:

此次扫描任务是否付费

约束限制:

必选参数,仅支持指定布尔值

取值范围:

true(付费任务)、false(免费任务)

默认取值:

不涉及

host_task_status

Array of strings

服务器扫描状态,

参数解释

服务器扫描状态

约束限制:

不涉及

取值范围:

包含如下4种

  • scanning :扫描中

  • success :扫描成功

  • fail :扫描失败

  • cancel :取消扫描

默认取值:

不涉及

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token,包含了用户的身份、权限等信息,在调用API接口时,可通过Token进行身份认证。获取方式请参见获取用户Token

约束限制:

不涉及

取值范围:

字符长度1-32768位

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

total_num

Integer

参数解释:

总数

取值范围:

最小值0,最大值2147483647

data_list

Array of AntiVirusTaskResponseInfo objects

参数解释:

存储查询到的病毒查杀任务详细信息列表

取值范围:

最小值0,最大值1000

表5 AntiVirusTaskResponseInfo

参数

参数类型

描述

task_id

String

参数解释

任务ID

取值范围:

字符长度1-64位

task_name

String

参数解释:

任务名称

取值范围:

最大长度255个unicode字符。

scan_type

String

参数解释

任务类型

取值范围

包含如下:

  • quick :快速扫描

  • full : 全盘扫描

  • custom : 自定义扫描

start_type

String

参数解释

启动类型

取值范围

包含如下

  • now:立即启动

  • later:稍后启动

  • period:周期启动

action

String

参数解释:

处置动作

取值范围:

  • auto:自动处置

  • manual:人工处置

start_time

Integer

参数解释

启动时间

取值范围

最小值0,最大值9223372036854775807;时间格式:毫秒级时间戳(UTC时区,从1970-01-01 00:00:00开始计算);单位:ms

task_status

String

参数解释:

任务状态

取值范围:

包含如下2种

  • scanning:扫描中

  • finish:扫描完成

host_num

Integer

参数解释:

关联服务器数

取值范围:

非负整数,最小值0;单位:台

success_host_num

Integer

参数解释:

扫描成功服务器数

取值范围:

非负整数,最小值0;单位:台

fail_host_num

Integer

参数解释:

扫描失败服务器数

取值范围:

非负整数,最小值0;单位:台

cancel_host_num

Integer

参数解释:

已取消服务器数

取值范围:

非负整数,最小值0;单位:台

host_info_list

Array of AntiVirusTaskHostResponseInfo objects

参数解释:

关联的服务器详细信息列表

取值范围:

数组个数0-10000

rescan

Boolean

是否需要重新扫描

whether_paid_task

Boolean

此次扫描任务是否付费

表6 AntiVirusTaskHostResponseInfo

参数

参数类型

描述

host_id

String

参数解释

服务器(主机)的唯一标识ID

取值范围

字符长度1-64位

host_name

String

参数解释:

服务器名称

取值范围:

字符长度1-256位

private_ip

String

参数解释

服务器私有IP

取值范围

字符长度1-128位

public_ip

String

参数解释

弹性公网IP地址

取值范围

字符长度1-256位,支持IPv4或IPv6格式(IPv4长度7-15位,IPv6长度15-39位)

asset_value

String

参数解释

资产重要性。

取值范围

  • important :重要资产。

  • common :一般资产。

  • test :测试资产。

start_time

Integer

参数解释

启动时间

取值范围

最小值0,最大值9223372036854775807;时间格式:毫秒级时间戳(UTC时区,从1970-01-01 00:00:00开始计算);单位:ms

run_duration

Integer

参数解释:

运行时长

取值范围:

非负整数,最小值0;单位:s(秒)

scan_progress

String

参数解释

扫描进度

取值范围

字符串格式,支持百分比(如“50%”)或0-100的数值字符串

virus_num

Integer

参数解释

新发现病毒数量

取值范围

非负整数,最小值0;单位:个

scan_file_num

Integer

参数解释:

已扫描的文件数量

取值范围:

非负整数,最小值0;单位:个

host_task_status

String

参数解释:

服务器扫描状态

取值范围:

  • scanning :扫描中

  • success :扫描成功

  • fail :扫描失败

  • cancel :取消扫描

fail_reason

String

参数解释:

失败原因

取值范围:

字符长度0-512位

deleted

Boolean

参数解释

是否删除

取值范围

包含如下:

  • true :已删除

  • false : 未删除

whether_using_quota

Integer

参数解释

是否使用病毒查杀按次计费配额

取值范围

0(未使用)、1(已使用)

agent_id

String

参数解释:

主机上安装的杀毒Agent的唯一标识ID,用于关联主机与杀毒服务

约束限制:

不涉及

取值范围:

字符长度1-64位

默认取值:

不涉及

os_type

String

参数解释

操作系统类型

取值范围

  • Linux:Linux

  • Windows:Windows

host_status

String

参数解释

主机状态

取值范围:

  • ACTIVE:正在运行

  • SHUTOFF:关机

  • BUILDING:创建中

  • ERROR:故障

agent_status

String

参数解释

Agent状态

取值范围:

  • installed:已安装

  • not_installed:未安

  • online:在线

  • offline:离线

  • install_failed:安装失败

  • installing:安装中

  • not_online:不在线的(除了在线以外的所有状态,仅作为查询条件)

protect_status

String

参数解释:

防护状态

取值范围:

  • closed :关闭

  • opened :开启

os_name

String

参数解释:

操作系统名称

取值范围:

字符长度0-128位

os_version

String

参数解释

系统版本号

取值范围

字符长度0-64位

请求示例

响应示例

状态码:200

请求已成功

{
  "total_num" : 126,
  "data_list" : [ {
    "task_id" : "291***af8-7ba2-4a39-9522-d1***2033db",
    "task_name" : "快速查杀-20250122155127",
    "scan_type" : "quick",
    "start_type" : "now",
    "action" : "manual",
    "start_time" : 1737532317458,
    "task_status" : "scanning",
    "host_num" : 1,
    "success_host_num" : 0,
    "fail_host_num" : 0,
    "cancel_host_num" : 0,
    "host_info_list" : [ {
      "host_id" : "eedf8817-f486-4c4f-a395-b8373ecc7ef4",
      "host_name" : "agentcompile-2",
      "agent_id" : "5dd59023ad***02f9f43743dff3b8172**271ad36e5aedecf327119",
      "private_ip" : "172.16.0.**",
      "public_ip" : "100.85.219.**",
      "asset_value" : "common",
      "start_time" : 1737532317458,
      "run_duration" : 0,
      "scan_progress" : "0%",
      "virus_num" : 4,
      "scan_file_num" : 0,
      "host_task_status" : "scanning",
      "os_type" : "Linux",
      "host_status" : "ACTIVE",
      "agent_status" : "online",
      "protect_status" : "opened",
      "os_name" : "EulerOS",
      "os_version" : "2.5",
      "deleted" : false,
      "whether_using_quota" : 0
    } ],
    "rescan" : false,
    "whether_paid_task" : false
  } ]
}

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
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.hss.v5.region.HssRegion;
import com.huaweicloud.sdk.hss.v5.*;
import com.huaweicloud.sdk.hss.v5.model.*;


public class ListAntiVirusTaskSolution {

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

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListAntiVirusTaskRequest request = new ListAntiVirusTaskRequest();
        try {
            ListAntiVirusTaskResponse response = client.listAntiVirusTask(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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkhss.v5.region.hss_region import HssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkhss.v5 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 = HssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(HssRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListAntiVirusTaskRequest()
        response = client.list_anti_virus_task(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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/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 := hss.NewHssClient(
        hss.HssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListAntiVirusTaskRequest{}
	response, err := client.ListAntiVirusTask(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

请求已成功

错误码

请参见错误码

相关文档