Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Host Security Service/ Referencia de la API/ Descripción de la API/ imagen de contenedor/ Consulta de la lista de imágenes en el repositorio de imágenes SWR
Actualización más reciente 2025-04-08 GMT+08:00

Consulta de la lista de imágenes en el repositorio de imágenes SWR

Función

Esta API se utiliza para consultar la lista de imágenes en el repositorio de imágenes SWR. Para sincronizar las imágenes más recientes de SWR, invoque primero a la API para sincronizar imágenes de SWR.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

GET /v5/{project_id}/image/swr-repository

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto del tenant

Mínimo: 1

Máximo: 256

Tabla 2 Parámetros de consulta

Parámetro

Obligatorio

Tipo

Descripción

enterprise_project_id

No

String

ID de proyecto empresarial. Para consultar todos los proyectos empresariales, establezca este parámetro en all_granted_eps.

Valor predeterminado: 0

Mínimo: 1

Máximo: 256

namespace

No

String

Nombre de la organización

Mínimo: 1

Máximo: 256

image_name

No

String

ID de nombre de imagen

Mínimo: 1

Máximo: 128

image_version

No

String

Etiqueta de imagen

Mínimo: 1

Máximo: 64

latest_version

No

Boolean

Mostrar solo las versiones de imagen más recientes

Valor predeterminado: false

offset

No

Integer

Desfase, que especifica la posición inicial del registro que se va a devolver. El valor debe ser un número no menor que 0. El valor predeterminado es 0.

Mínimo: 0

Máximo: 2000000

Valor predeterminado: 0

limit

No

Integer

Número de registros mostrados en cada página.

Mínimo: 10

Máximo: 200

Valor predeterminado: 10

image_type

String

Tipo de imagen. Las opciones son las siguientes:

  • private_image: repositorio de imágenes privadas

  • shared_image: repositorio de imágenes compartidas

  • local_image

  • instance_image: imagen de empresa

Mínimo: 1

Máximo: 32

scan_status

No

String

Estado de escaneo. Las opciones son las siguientes:

  • unscan

  • success

  • scanning

  • failed

  • waiting_for_scan

Mínimo: 0

Máximo: 32

instance_name

No

String

Nombre de instancia de imagen empresarial

Mínimo: 0

Máximo: 128

image_size

No

Long

Tamaño de imagen

Mínimo: 0

Máximo: 2147483547

Valor predeterminado: 0

start_latest_update_time

No

Long

Hora de inicio de creación (ms).

Mínimo: 0

Máximo: 4070880000000

Valor predeterminado: 0

end_latest_update_time

No

Long

Hora de fin de creación (ms).

Mínimo: 0

Máximo: 4070880000000

Valor predeterminado: 0

start_latest_scan_time

No

Long

La hora de inicio de la finalización del último análisis, en ms.

Mínimo: 0

Máximo: 4070880000000

Valor predeterminado: 0

end_latest_scan_time

No

Long

La hora de finalización del último análisis, en ms.

Mínimo: 0

Máximo: 4070880000000

Valor predeterminado: 0

has_malicious_file

No

Boolean

Si hay archivos maliciosos

has_unsafe_setting

No

Boolean

Si existe una verificación de línea base

has_vul

No

Boolean

Si existen vulnerabilidades de software

instance_id

No

String

ID de instancia de repositorio de empresa. Esta API no es necesaria para la edición compartida de SWR.

Mínimo: 0

Máximo: 128

Parámetros de solicitud

Tabla 3 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token.

Mínimo: 1

Máximo: 32768

region

String

ID de región

Mínimo: 0

Máximo: 128

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

total_num

Integer

Número total

Mínimo: 0

Máximo: 2147483547

data_list

Array of PrivateImageRepositoryInfo objects

Consulta de la lista de imágenes en el repositorio de imágenes SWR

Longitud de la matriz: 0 - 200

Tabla 5 PrivateImageRepositoryInfo

Parámetro

Tipo

Descripción

id

Long

id

Mínimo: 0

Máximo: 2147483547

namespace

String

Espacio de nombres

Mínimo: 0

Máximo: 64

image_name

String

Nombre de imagen

Mínimo: 0

Máximo: 128

image_id

String

ID de imagen

Mínimo: 0

Máximo: 64

image_digest

String

Resumen de imagen

Mínimo: 0

Máximo: 128

image_version

String

Etiqueta de imagen

Mínimo: 0

Máximo: 64

image_type

String

Tipo de imagen. Las opciones son las siguientes:

  • private_image

  • shared_image

Mínimo: 0

Máximo: 64

latest_version

Boolean

Verifique si la versión es la más reciente.

scan_status

String

Estado de escaneo. Las opciones son las siguientes:

  • unscan

  • success

  • scanning

  • failed

  • download_failed

  • image_oversized

  • waiting_for_scan

Mínimo: 0

Máximo: 64

scan_failed_desc

String

Causa del error de escaneo. Las opciones son las siguientes:

  • "unknown_error"

  • "authentication_failed"

  • "download_failed": error al descargar la imagen.

  • "image_over_sized": El tamaño de la imagen supera el máximo.

  • "image_oversized"

  • "failed_to_scan_vulnerability"

  • "failed_to_scan_file"

  • "failed_to_scan_software"

  • "failed_to_check_sensitive_information"

  • "failed_to_check_baseline"

  • "failed_to_check_software_compliance"

  • "failed_to_query_basic_image_information"

  • "response_timed_out"

  • "database_error"

  • "failed_to_send_the_scan_request"

Mínimo: 0

Máximo: 64

image_size

Long

Tamaño de imagen

Mínimo: 0

Máximo: 2147483547

latest_update_time

Long

Hora de la actualización más reciente de la versión de imagen, en ms.

Mínimo: 0

Máximo: 4070880000000

latest_scan_time

Long

Último escaneado, en ms.

Mínimo: 0

Máximo: 4070880000000

vul_num

Integer

Vulnerabilidades

Mínimo: 0

Máximo: 2147483647

unsafe_setting_num

Integer

Número de escaneos de línea base fallidos

Mínimo: 0

Máximo: 2147483647

malicious_file_num

Integer

Número de archivos maliciosos

Mínimo: 0

Máximo: 2147483647

domain_name

String

Propietario (parámetro de imagen compartida)

Mínimo: 0

Máximo: 128

shared_status

String

Estado de una imagen compartida. El valor puede ser:

  • expired

  • effective

Mínimo: 1

Máximo: 32

scannable

Boolean

Escaneable o no

instance_name

String

Nombre de instancia de imagen de edición empresarial

Mínimo: 0

Máximo: 128

instance_id

String

ID de instancia de imagen de edición empresarial

Mínimo: 0

Máximo: 64

instance_url

String

URL de instancia de imagen de edición empresarial

Mínimo: 0

Máximo: 256

association_images

Array of AssociateImages objects

Información de imagen asociada a multiarquitectura

Longitud de la matriz: 0 - 200

Tabla 6 AssociateImages

Parámetro

Tipo

Descripción

image_name

String

Nombre de imagen

Mínimo: 0

Máximo: 128

image_version

String

Etiqueta de imagen

Mínimo: 0

Máximo: 64

image_type

String

Tipo de imagen

Mínimo: 0

Máximo: 64

namespace

String

Espacio de nombres

Mínimo: 0

Máximo: 64

image_digest

String

Resumen de imagen

Mínimo: 0

Máximo: 128

scan_status

String

Estado de escaneo. Las opciones son las siguientes:

  • unscan

  • success

  • scanning

  • failed

  • download_failed

  • image_oversized

  • waiting_for_scan

Mínimo: 0

Máximo: 32

Solicitudes de ejemplo

Consultar la lista de imágenes en el repositorio de imágenes SWR cuyo tipo de imagen es imagen privada.

GET https://{endpoint}/v5/{project_id}/image/swr-repository?offset=0&limit=50&image_type=private_image&latest_version=false&enterprise_project_id=all_granted_eps

Ejemplo de respuestas

Código de estado: 200

Esta API se utiliza para consultar la lista de imágenes en el repositorio de imágenes SWR, incluida la lista de imágenes privadas y la lista de imágenes compartidas (controladas por el parámetro de entrada image_type).

{
  "total_num" : 3,
  "data_list" : [ {
    "id" : "111 (example for private images)",
    "image_digest" : "sha256:cebcdacde18091448a5040dc55bb1a9f6540b093db8XXXXXX",
    "image_id" : "cebcdacde18091448a5040dc55bb1a9f6540b093db8XXXXXX",
    "image_name" : "centos7",
    "image_size" : "1000 (Bytes)",
    "image_type" : "private_image",
    "image_version" : "common",
    "latest_scan_time" : 1691748641788,
    "latest_update_time" : 1687664346000,
    "latest_version" : false,
    "malicious_file_num" : 0,
    "namespace" : "aaa",
    "scan_status" : "success",
    "scannable" : true,
    "unsafe_setting_num" : 1,
    "vul_num" : 111,
    "instance_name" : "",
    "instance_id" : "",
    "instance_url" : ""
  }, {
    "id" : "222 (example for shared image)",
    "domain_name" : "scc_cgs_XXX",
    "shared_status" : "effective",
    "image_digest" : "sha256:cebcdacde18091448a5040dc55bb1a9f6540b093db8XXXXXX",
    "image_id" : "cebcdacde18091448a5040dc55bb1a9f6540b093db8XXXXXX",
    "image_name" : "mysql",
    "image_size" : "1000 (Bytes)",
    "image_type" : "shared_image",
    "image_version" : "5.5",
    "latest_scan_time" : 1691748641788,
    "latest_update_time" : 1687664346000,
    "latest_version" : false,
    "malicious_file_num" : 0,
    "namespace" : "aaa",
    "scan_status" : "success",
    "scannable" : true,
    "unsafe_setting_num" : 1,
    "vul_num" : 111,
    "instance_name" : "",
    "instance_id" : "",
    "instance_url" : ""
  }, {
    "id" : "333 (example of an enterprise image)",
    "domain_name" : "scc_cgs_XXX",
    "shared_status" : "effective",
    "image_digest" : "sha256:cebcdacde18091448a5040dc55bb1a9f6540b093db8XXXXXX",
    "image_id" : "cebcdacde18091448a5040dc55bb1a9f6540b093db8XXXXXX",
    "image_name" : "mysql",
    "image_size" : "1000 (Bytes)",
    "image_type" : "shared_image",
    "image_version" : "5.5",
    "latest_scan_time" : 1691748641788,
    "latest_update_time" : 1687664346000,
    "latest_version" : false,
    "malicious_file_num" : 0,
    "namespace" : "aaa",
    "scan_status" : "success",
    "scannable" : true,
    "unsafe_setting_num" : 1,
    "vul_num" : 111,
    "instance_name" : "Enterprise instance name",
    "instance_id" : "",
    "instance_url" : ""
  } ]
}

Código de ejemplo del SDK

El código de ejemplo del SDK es el siguiente.

Java

 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
58
59
60
61
62
63
64
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 ListSwrImageRepositorySolution {

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

        HssClient client = HssClient.newBuilder()
                .withCredential(auth)
                .withRegion(HssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListSwrImageRepositoryRequest request = new ListSwrImageRepositoryRequest();
        request.withEnterpriseProjectId("<enterprise_project_id>");
        request.withNamespace("<namespace>");
        request.withImageName("<image_name>");
        request.withImageVersion("<image_version>");
        request.withLatestVersion(<latest_version>);
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        request.withImageType("<image_type>");
        request.withScanStatus("<scan_status>");
        request.withInstanceName("<instance_name>");
        request.withImageSize(<image_size>L);
        request.withStartLatestUpdateTime(<start_latest_update_time>L);
        request.withEndLatestUpdateTime(<end_latest_update_time>L);
        request.withStartLatestScanTime(<start_latest_scan_time>L);
        request.withEndLatestScanTime(<end_latest_scan_time>L);
        request.withHasMaliciousFile(<has_malicious_file>);
        request.withHasUnsafeSetting(<has_unsafe_setting>);
        request.withHasVul(<has_vul>);
        request.withInstanceId("<instance_id>");
        try {
            ListSwrImageRepositoryResponse response = client.listSwrImageRepository(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());
        }
    }
}

Python

 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
# coding: utf-8

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 = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

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

    try:
        request = ListSwrImageRepositoryRequest()
        request.enterprise_project_id = "<enterprise_project_id>"
        request.namespace = "<namespace>"
        request.image_name = "<image_name>"
        request.image_version = "<image_version>"
        request.latest_version = <LatestVersion>
        request.offset = <offset>
        request.limit = <limit>
        request.image_type = "<image_type>"
        request.scan_status = "<scan_status>"
        request.instance_name = "<instance_name>"
        request.image_size = <image_size>
        request.start_latest_update_time = <start_latest_update_time>
        request.end_latest_update_time = <end_latest_update_time>
        request.start_latest_scan_time = <start_latest_scan_time>
        request.end_latest_scan_time = <end_latest_scan_time>
        request.has_malicious_file = <HasMaliciousFile>
        request.has_unsafe_setting = <HasUnsafeSetting>
        request.has_vul = <HasVul>
        request.instance_id = "<instance_id>"
        response = client.list_swr_image_repository(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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")

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

    client := hss.NewHssClient(
        hss.HssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListSwrImageRepositoryRequest{}
	enterpriseProjectIdRequest:= "<enterprise_project_id>"
	request.EnterpriseProjectId = &enterpriseProjectIdRequest
	namespaceRequest:= "<namespace>"
	request.Namespace = &namespaceRequest
	imageNameRequest:= "<image_name>"
	request.ImageName = &imageNameRequest
	imageVersionRequest:= "<image_version>"
	request.ImageVersion = &imageVersionRequest
	latestVersionRequest:= <latest_version>
	request.LatestVersion = &latestVersionRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	request.ImageType = "<image_type>"
	scanStatusRequest:= "<scan_status>"
	request.ScanStatus = &scanStatusRequest
	instanceNameRequest:= "<instance_name>"
	request.InstanceName = &instanceNameRequest
	imageSizeRequest:= int64(<image_size>)
	request.ImageSize = &imageSizeRequest
	startLatestUpdateTimeRequest:= int64(<start_latest_update_time>)
	request.StartLatestUpdateTime = &startLatestUpdateTimeRequest
	endLatestUpdateTimeRequest:= int64(<end_latest_update_time>)
	request.EndLatestUpdateTime = &endLatestUpdateTimeRequest
	startLatestScanTimeRequest:= int64(<start_latest_scan_time>)
	request.StartLatestScanTime = &startLatestScanTimeRequest
	endLatestScanTimeRequest:= int64(<end_latest_scan_time>)
	request.EndLatestScanTime = &endLatestScanTimeRequest
	hasMaliciousFileRequest:= <has_malicious_file>
	request.HasMaliciousFile = &hasMaliciousFileRequest
	hasUnsafeSettingRequest:= <has_unsafe_setting>
	request.HasUnsafeSetting = &hasUnsafeSettingRequest
	hasVulRequest:= <has_vul>
	request.HasVul = &hasVulRequest
	instanceIdRequest:= "<instance_id>"
	request.InstanceId = &instanceIdRequest
	response, err := client.ListSwrImageRepository(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Más información

Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulte la pestaña Código de ejemplo en API Explorer. El código de ejemplo del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

200

Esta API se utiliza para consultar la lista de imágenes en el repositorio de imágenes SWR, incluida la lista de imágenes privadas y la lista de imágenes compartidas (controladas por el parámetro de entrada image_type).

Códigos de error

Consulte Códigos de error.