Adição de tags em lote para um disco EVS especificado
Função
Esta API é usada para adicionar tags em lote para um disco EVS especificado.
Ao adicionar tags, se uma chave de tag for consistente com uma existente, a nova tag substituirá a tag existente. Um máximo de 10 tags podem ser criadas para um disco.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
POST /v2/{project_id}/cloudvolumes/{volume_id}/tags/action
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
O ID do projeto. Para obter detalhes sobre como obter o ID de projeto, consulte Obtenção de um ID de projeto. |
volume_id |
Sim |
String |
O ID do disco. |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
O 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 é o token do usuário. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
action |
Sim |
String |
A operação. O valor pode ser o seguinte: create: adicionar tags. Padrão: create Valores de enumeração:
|
tags |
Sim |
Array of Tag objects |
A lista de tags. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
key |
Sim |
String |
A chave de tag. Ela pode conter de 1 a 64 caracteres, incluindo letras, dígitos, sublinhados (_), hifens (-) e pontos (.). |
value |
Sim |
String |
O valor de tag. Ele pode conter de 1 a 64 caracteres, incluindo letras, dígitos, sublinhados (_), hifens (-) e pontos (.). |
Parâmetros de resposta
Código de status: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
A mensagem de erro retornada se ocorrer um erro. Para obter detalhes, consulte Parâmetros no campo error. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
code |
String |
O código de erro retornado se ocorrer um erro. Para os códigos de erro e seus significados, consulte Códigos de erro. |
message |
String |
A mensagem de erro retornada se ocorrer um erro. |
Exemplo de solicitações
Adicionar duas tags key1,value1 e key2,value3 a um disco
POST https://{endpoint}/v2/{project_id}/cloudvolumes/{volume_id}/tags/action { "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value3" } ] }
Exemplo de respostas
Código de status: 400
Bad Request
{ "error" : { "message" : "XXXX", "code" : "XXX" } }
Código de amostra do SDK
O código de amostra do SDK é o seguinte.
Java
Adicionar duas tags key1,value1 e key2,value3 a um disco
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 |
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.evs.v2.region.EvsRegion; import com.huaweicloud.sdk.evs.v2.*; import com.huaweicloud.sdk.evs.v2.model.*; import java.util.List; import java.util.ArrayList; public class BatchCreateVolumeTagsSolution { 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); EvsClient client = EvsClient.newBuilder() .withCredential(auth) .withRegion(EvsRegion.valueOf("<YOUR REGION>")) .build(); BatchCreateVolumeTagsRequest request = new BatchCreateVolumeTagsRequest(); BatchCreateVolumeTagsRequestBody body = new BatchCreateVolumeTagsRequestBody(); List<Tag> listbodyTags = new ArrayList<>(); listbodyTags.add( new Tag() .withKey("key1") .withValue("value1") ); listbodyTags.add( new Tag() .withKey("key2") .withValue("value3") ); body.withTags(listbodyTags); body.withAction(BatchCreateVolumeTagsRequestBody.ActionEnum.fromValue("create")); request.withBody(body); try { BatchCreateVolumeTagsResponse response = client.batchCreateVolumeTags(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
Adicionar duas tags key1,value1 e key2,value3 a um disco
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 |
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkevs.v2.region.evs_region import EvsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkevs.v2 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 = EvsClient.new_builder() \ .with_credentials(credentials) \ .with_region(EvsRegion.value_of("<YOUR REGION>")) \ .build() try: request = BatchCreateVolumeTagsRequest() listTagsbody = [ Tag( key="key1", value="value1" ), Tag( key="key2", value="value3" ) ] request.body = BatchCreateVolumeTagsRequestBody( tags=listTagsbody, action="create" ) response = client.batch_create_volume_tags(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
Adicionar duas tags key1,value1 e key2,value3 a um disco
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 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" evs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/evs/v2/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 := evs.NewEvsClient( evs.EvsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.BatchCreateVolumeTagsRequest{} var listTagsbody = []model.Tag{ { Key: "key1", Value: "value1", }, { Key: "key2", Value: "value3", }, } request.Body = &model.BatchCreateVolumeTagsRequestBody{ Tags: listTagsbody, Action: model.GetBatchCreateVolumeTagsRequestBodyActionEnum().CREATE, } response, err := client.BatchCreateVolumeTags(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 |
---|---|
204 |
No Content |
400 |
Bad Request |
Códigos de erro
Consulte Códigos de erro.