Verificação de imagens no repositório de imagens em lotes
Função
Essa API é usada para verificar imagens no repositório de imagens em lotes.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
POST /v5/{project_id}/image/batch-scan
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto do locatário Mínimo: 1 Máximo: 256 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
enterprise_project_id |
Não |
String |
ID do projeto empresarial. Para consultar todos os projetos empresariais, defina este parâmetro como all_granted_eps. Padrão: 0 Mínimo: 1 Máximo: 256 |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. Mínimo: 1 Máximo: 32768 |
region |
Sim |
String |
ID da região Mínimo: 0 Máximo: 128 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
repo_type |
Não |
String |
Tipo de repositório. Atualmente, os repositórios de imagens de SWR estão conectados. As opções são as seguintes:
Mínimo: 1 Máximo: 32 |
image_info_list |
Não |
Array of BatchScanSwrImageInfo objects |
Especifica a lista de imagens a serem verificadas. Este parâmetro é obrigatório quando operate_all é false. Comprimento da matriz: 0–10241 |
operate_all |
Não |
Boolean |
Se esse parâmetro for definido como true, todos os critérios de filtro poderão ser usados para consulta completa. Se image_info_list estiver vazio, este parâmetro será obrigatório. |
namespace |
Não |
String |
Nome da organização Mínimo: 1 Máximo: 256 |
image_name |
Não |
String |
Nome da imagem Mínimo: 1 Máximo: 256 |
image_version |
Não |
String |
Tag da imagem Mínimo: 1 Máximo: 256 |
image_type |
Sim |
String |
Tipo de imagem. As opções são as seguintes:
Mínimo: 1 Máximo: 32 |
scan_status |
Não |
String |
Status da verificação. As opções são as seguintes:
Mínimo: 1 Máximo: 32 |
latest_version |
Não |
Boolean |
Exibir apenas as versões de imagem mais recentes |
image_size |
Não |
Long |
Tamanho da imagem Mínimo: 0 Máximo: 2147483547 Padrão: 0 |
start_latest_update_time |
Não |
Long |
Data de início da criação, em ms. Mínimo: 0 Máximo: 2147483547 Padrão: 0 |
end_latest_update_time |
Não |
Long |
Data de término da criação, em ms. Mínimo: 0 Máximo: 2147483547 Padrão: 0 |
start_latest_scan_time |
Não |
Long |
A hora de início da última conclusão da verificação, em ms. Mínimo: 0 Máximo: 2147483547 Padrão: 0 |
end_latest_scan_time |
Não |
Long |
A hora de término da última conclusão da verificação, em ms. Mínimo: 0 Máximo: 2147483547 Padrão: 0 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
namespace |
Não |
String |
Namespace Mínimo: 1 Máximo: 64 |
image_name |
Não |
String |
Nome da imagem Mínimo: 1 Máximo: 128 |
image_version |
Não |
String |
Tag da imagem Mínimo: 1 Máximo: 128 |
instance_id |
Não |
String |
ID da instância empresarial Mínimo: 1 Máximo: 128 |
instance_url |
Não |
String |
Baixar o URL da imagem empresarial Mínimo: 0 Máximo: 256 |
Parâmetros de resposta
Nenhum
Exemplo de solicitações
-
Verificar imagens privadas em lotes. O corpo da solicitação transfere a lista de imagens e o operate_all não contém nenhum parâmetro, indicando que a lista de imagens precisa ser verificada em lotes.
POST https://{endpoint}/v5/{project_id}/image/batch-scan { "image_type" : "private_image", "image_info_list" : [ { "image_name" : "openjdk", "image_version" : "v8.8", "namespace" : "test" }, { "image_name" : "openjdk1", "image_version" : "v1.0", "namespace" : "test1" } ] }
-
Realizar uma verificação completa para imagens privadas. O corpo da solicitação não transfere a lista de imagens e operate_all é definido como true, indicando que a lista de imagens precisa ser totalmente verificada.
POST https://{endpoint}/v5/{project_id}/image/batch-scan { "image_type" : "private_image", "operate_all" : true }
Exemplo de respostas
Nenhum
Código de amostra do SDK
O código de amostra do SDK é o seguinte.
Java
-
Verificar imagens privadas em lotes. O corpo da solicitação transfere a lista de imagens e o operate_all não contém nenhum parâmetro, indicando que a lista de imagens precisa ser verificada em lotes.
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
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.*; import java.util.List; import java.util.ArrayList; public class BatchScanSwrImageSolution { 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(); BatchScanSwrImageRequest request = new BatchScanSwrImageRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); BatchScanPrivateImageRequestInfo body = new BatchScanPrivateImageRequestInfo(); List<BatchScanSwrImageInfo> listbodyImageInfoList = new ArrayList<>(); listbodyImageInfoList.add( new BatchScanSwrImageInfo() .withNamespace("test") .withImageName("openjdk") .withImageVersion("v8.8") ); listbodyImageInfoList.add( new BatchScanSwrImageInfo() .withNamespace("test1") .withImageName("openjdk1") .withImageVersion("v1.0") ); body.withImageType("private_image"); body.withImageInfoList(listbodyImageInfoList); request.withBody(body); try { BatchScanSwrImageResponse response = client.batchScanSwrImage(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()); } } }
-
Realizar uma verificação completa para imagens privadas. O corpo da solicitação não transfere a lista de imagens e operate_all é definido como true, indicando que a lista de imagens precisa ser totalmente verificada.
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.hss.v5.region.HssRegion; import com.huaweicloud.sdk.hss.v5.*; import com.huaweicloud.sdk.hss.v5.model.*; public class BatchScanSwrImageSolution { 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(); BatchScanSwrImageRequest request = new BatchScanSwrImageRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); BatchScanPrivateImageRequestInfo body = new BatchScanPrivateImageRequestInfo(); body.withImageType("private_image"); body.withOperateAll(true); request.withBody(body); try { BatchScanSwrImageResponse response = client.batchScanSwrImage(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
-
Verificar imagens privadas em lotes. O corpo da solicitação transfere a lista de imagens e o operate_all não contém nenhum parâmetro, indicando que a lista de imagens precisa ser verificada em lotes.
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
# 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 = BatchScanSwrImageRequest() request.enterprise_project_id = "<enterprise_project_id>" listImageInfoListbody = [ BatchScanSwrImageInfo( namespace="test", image_name="openjdk", image_version="v8.8" ), BatchScanSwrImageInfo( namespace="test1", image_name="openjdk1", image_version="v1.0" ) ] request.body = BatchScanPrivateImageRequestInfo( image_type="private_image", image_info_list=listImageInfoListbody ) response = client.batch_scan_swr_image(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
Realizar uma verificação completa para imagens privadas. O corpo da solicitação não transfere a lista de imagens e operate_all é definido como true, indicando que a lista de imagens precisa ser totalmente verificada.
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
# 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 = BatchScanSwrImageRequest() request.enterprise_project_id = "<enterprise_project_id>" request.body = BatchScanPrivateImageRequestInfo( image_type="private_image", operate_all=True ) response = client.batch_scan_swr_image(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
-
Verificar imagens privadas em lotes. O corpo da solicitação transfere a lista de imagens e o operate_all não contém nenhum parâmetro, indicando que a lista de imagens precisa ser verificada em lotes.
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
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.BatchScanSwrImageRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest namespaceImageInfoList:= "test" imageNameImageInfoList:= "openjdk" imageVersionImageInfoList:= "v8.8" namespaceImageInfoList1:= "test1" imageNameImageInfoList1:= "openjdk1" imageVersionImageInfoList1:= "v1.0" var listImageInfoListbody = []model.BatchScanSwrImageInfo{ { Namespace: &namespaceImageInfoList, ImageName: &imageNameImageInfoList, ImageVersion: &imageVersionImageInfoList, }, { Namespace: &namespaceImageInfoList1, ImageName: &imageNameImageInfoList1, ImageVersion: &imageVersionImageInfoList1, }, } request.Body = &model.BatchScanPrivateImageRequestInfo{ ImageType: "private_image", ImageInfoList: &listImageInfoListbody, } response, err := client.BatchScanSwrImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
-
Realizar uma verificação completa para imagens privadas. O corpo da solicitação não transfere a lista de imagens e operate_all é definido como true, indicando que a lista de imagens precisa ser totalmente verificada.
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
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.BatchScanSwrImageRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest operateAllBatchScanPrivateImageRequestInfo:= true request.Body = &model.BatchScanPrivateImageRequestInfo{ ImageType: "private_image", OperateAll: &operateAllBatchScanPrivateImageRequestInfo, } response, err := client.BatchScanSwrImage(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
Mais
Para obter o código de amostra do SDK de mais linguagens de programação, consulte a guia Código de amostra no API Explorer. O código de amostra do SDK pode ser gerado automaticamente.
Códigos de status
Código de status |
Descrição |
---|---|
200 |
Resposta bem-sucedida |
Códigos de erro
Consulte Códigos de erro.