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/ Elastic Volume Service/ Referencia de la API/ API/ Gestión de discos/ Cancelación de suscripción a discos de EVS anuales/mensuales
Actualización más reciente 2026-04-23 GMT+08:00

Cancelación de suscripción a discos de EVS anuales/mensuales

Función

Esta API se utiliza para cancelar la suscripción de discos de EVS anuales/mensuales. Tiene las siguientes limitaciones:

  • No se puede utilizar para cancelar la suscripción de discos de sistema y discos de arranque. Se deben cancelar la suscripción junto con sus servidores.

  • Se puede cancelar la suscripción de un máximo de 60 discos al mismo tiempo mediante esta API.

Método de invocación

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

Información de autorización

Cada cuenta tiene todos los permisos necesarios para invocar todas las API, pero los usuarios de IAM deben tener asignados los permisos requeridos.

  • Si está utilizando la autorización basada en roles/políticas, consulte Políticas de permisos y acciones admitidas para obtener más información sobre los permisos requeridos.
  • Si está utilizando la autorización basada en políticas de identidad, no se requiere ningún permiso basado en políticas de identidad para invocar esta API.

URI

POST /v2/{project_id}/cloudvolumes/unsubscribe

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

Definición

El ID del proyecto. Para obtener más información, consulte Obtención de un ID de proyecto.

Restricciones

N/D

Rango

N/D

Valor predeterminado

N/D

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Definición

El token de usuario. Puede obtenerlo invocando la API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario.

Restricciones

N/D

Rango

N/D

Valor predeterminado

N/D

Tabla 3 Parámetros del cuerpo de la solicitud

Parámetro

Obligatorio

Tipo

Descripción

volume_ids

Array of strings

Definición

Los discos anuales/mensuales de los que se cancelará la suscripción.

Puede invocar la API Consulta de detalles sobre todos los discos de EVS para obtener los ID de disco.

Restricciones

N/D

Rango

N/D

Valor predeterminado

N/D

Parámetros de respuesta

Código de estado: 202

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

[items]

Array of UnsubscribeVolumeResponseBody objects

Definición

El cuerpo de respuesta de la cancelación de suscripción de un disco anual/mensual.

Rango

N/D

Tabla 5 UnsubscribeVolumeResponseBody

Parámetro

Tipo

Descripción

results

Array of UnsubscribeVolume objects

Definición

El resultado de la cancelación de la suscripción.

Rango

N/D

Tabla 6 UnsubscribeVolume

Parámetro

Tipo

Descripción

volume_id

String

Definición

El ID del disco.

Rango

N/D

order_id

String

Definición

El ID del pedido de cancelación de suscripción. Este campo no aparece si se cancela la suscripción del disco por vencimiento.

Rango

N/D

result

String

Definición

El resultado de la cancelación de la suscripción.

Rango

SUCCESS or FAIL

fail_reason

String

Definición

La causa del error devuelto si el valor de result es FAIL. Este campo no aparece si result es SUCCESS.

Rango

N/D

Código de estado: 400

Tabla 7 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error

Error object

Definición

El código de error devuelto si se produce un error. Para obtener más información sobre el código de error, consulte Códigos de error.

Rango

N/D

Tabla 8 Error

Parámetro

Tipo

Descripción

code

String

Definición

El código de error devuelto si se produce un error.

Rango

Para obtener más información sobre el código de error, consulte Códigos de error.

message

String

Definición

El mensaje de error devuelto si se produce un error.

Rango

N/D

Ejemplos de solicitudes

Cancelar la suscripción a discos anuales/mensuales cuyos ID son 8739ca48-1b86-46aa-9059-38623ee1346c y fc7d594d-e78f-49a8-ab6e-90ee6b560cb0

POST /v2/{project_id}/cloudvolumes/unsubscribe

{
  "volume_ids" : [ "fc7d594d-e78f-49a8-ab6e-90ee6b560cb0", "8739ca48-1b86-46aa-9059-38623ee1346c" ]
}

Ejemplos de respuestas

Código de estado: 202

Accepted

{
  "results" : [ {
    "volume_id" : "8739ca48-1b86-46aa-9059-38623ee1346c",
    "order_id" : "CS23021116385NAOR",
    "result" : "SUCCESS"
  }, {
    "volume_id" : "fc7d594d-e78f-49a8-ab6e-90ee6b560cb0",
    "result" : "FAIL",
    "fail_reason" : "INTERNAL ERROR, please contact customer service"
  } ]
}

Código de estado: 400

Bad Request

{
  "error" : {
    "message" : "XXXX",
    "code" : "XXX"
  }
}

Código de ejemplo del SDK

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

Java

Cancelar la suscripción a discos anuales/mensuales cuyos ID son 8739ca48-1b86-46aa-9059-38623ee1346c y fc7d594d-e78f-49a8-ab6e-90ee6b560cb0

 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
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 UnsubscribePostpaidVolumeSolution {

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

        EvsClient client = EvsClient.newBuilder()
                .withCredential(auth)
                .withRegion(EvsRegion.valueOf("<YOUR REGION>"))
                .build();
        UnsubscribePostpaidVolumeRequest request = new UnsubscribePostpaidVolumeRequest();
        UnsubscribeVolumeRequestBody body = new UnsubscribeVolumeRequestBody();
        List<String> listbodyVolumeIds = new ArrayList<>();
        listbodyVolumeIds.add("fc7d594d-e78f-49a8-ab6e-90ee6b560cb0");
        listbodyVolumeIds.add("8739ca48-1b86-46aa-9059-38623ee1346c");
        body.withVolumeIds(listbodyVolumeIds);
        request.withBody(body);
        try {
            UnsubscribePostpaidVolumeResponse response = client.unsubscribePostpaidVolume(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

Cancelar la suscripción a discos anuales/mensuales cuyos ID son 8739ca48-1b86-46aa-9059-38623ee1346c y fc7d594d-e78f-49a8-ab6e-90ee6b560cb0

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

import os
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 = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

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

    try:
        request = UnsubscribePostpaidVolumeRequest()
        listVolumeIdsbody = [
            "fc7d594d-e78f-49a8-ab6e-90ee6b560cb0",
            "8739ca48-1b86-46aa-9059-38623ee1346c"
        ]
        request.body = UnsubscribeVolumeRequestBody(
            volume_ids=listVolumeIdsbody
        )
        response = client.unsubscribe_postpaid_volume(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

Cancelar la suscripción a discos anuales/mensuales cuyos ID son 8739ca48-1b86-46aa-9059-38623ee1346c y fc7d594d-e78f-49a8-ab6e-90ee6b560cb0

 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
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")
    projectId := "{project_id}"

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

    client := evs.NewEvsClient(
        evs.EvsClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.UnsubscribePostpaidVolumeRequest{}
	var listVolumeIdsbody = []string{
        "fc7d594d-e78f-49a8-ab6e-90ee6b560cb0",
	    "8739ca48-1b86-46aa-9059-38623ee1346c",
    }
	request.Body = &model.UnsubscribeVolumeRequestBody{
		VolumeIds: listVolumeIdsbody,
	}
	response, err := client.UnsubscribePostpaidVolume(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Más

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

Códigos de estado

Código de estado

Descripción

202

Accepted

400

Bad Request

Códigos de error

Consulte Códigos de error.