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 Cloud Server/ Referencia de la API/ Ejemplos de aplicación/ Problemas comunes de la creación de ECS mediante API
Actualización más reciente 2022-11-08 GMT+08:00

Problemas comunes de la creación de ECS mediante API

Escenarios

En esta sección se describen los problemas y las soluciones comunes cuando se utilizan API para comprar ECS.

Tabla 1 Problemas sobre la creación de ECS mediante API

Categoría

Solución

Compra de ECS anuales/mensuales

Establezca parámetros para la compra de ECS anuales/mensuales.

Cancelación de suscripción anual/mensual ECS

Cancele la suscripción anual/mensual de ECS.

Consulta de imágenes públicas disponibles

Escriba los signos de interrogación (?) y ampersands (&) al final del URI para definir varios criterios de búsqueda.

Renovación de ECS anuales/mensuales

Renueve la suscripción a ECS anuales/mensuales y especifique el ID del recurso, el modo de renovación, el tiempo de renovación y el método de pago.

Consulta de si las variantes se pueden comprar o agotar

Compruebe si las variantes de ECS especificadas están disponibles en una AZ visualizando cond:operation:status y cond:operation:az en la respuesta.

Forma de pago

Elija el modo de pago estableciendo el parámetro extendparam.isAutoPay al crear un ECS anual/mensual (chargingMode es prePaid).

Consulta de cuotas de recursos disponibles

Llame a una API haciendo referencia a Consulta de cuotas de tenant. Ver maxTotalInstances para comprobar el número máximo de ECS que se pueden crear y ver totalInstancesUsed para comprobar el número de ECS que se están utilizando.

Consulta de precios de recursos

Llamar a las API haciendo referencia a Consulta del precio de un producto de pago por uso y Consulta del precio de un producto anual/mensual y establezca el tipo de servicio en la nube, el tipo de recurso, las especificaciones de recurso y la región de servicio en la nube para consultar los precios de productos.

Compra de ECS anuales/mensuales

Puede consultar Creación de ECS para comprar ECS anual/mensual. A diferencia de llamar a la API para crear ECS de pago por uso, solo necesitas establecer extendparam.chargingMode como prePaid y establecer el período de compra en el cuerpo de la solicitud. Para obtener más información sobre extendparam, consulte Descripción del campo extendparam para crear ECS.

El siguiente es un ejemplo para mostrar cómo comprar un ECS anual/mensual en la región ap-southeast-1 con la duración del uso durante un mes, y el pago automático y la renovación automática habilitados.

{
    "server": {
        "name": "newserver",
        "availability_zone": "ap-southeast-1a",
        "flavorRef": "s3.small.1",
        "imageRef": "8da46d6d-6079-4e31-ad6d-a7167efff892",
        "root_volume": {
            "volumetype": "SATA"
        },
        "vpcid": "7e1a7e70-3f3e-4581-955e-26a4848d8f31",
        "nics": [
	        {
		 "subnet_id": "04548cde-4067-48b0-9323-5c7b67ac13fc"
	        }	
        ],
        "data_volumes": [
	   {
                "volumetype": "SSD", 
                "size": 50
            }
        ],
        "publicip": {
            "id": "publicip_123", 
            "eip": {
                "iptype": "5_bgp",
                "bandwidth": {
                    "size": 10, 
                    "sharetype": "PER"
                }
            }
        },
        "extendparam": {
            "chargingMode": "prePaid",
            "periodType": "month",
            "periodNum": 1,
            "isAutoRenew": "true",
            "isAutoPay": "true",
            "regionID": "ap-southeast-1"
        }
    }
}

After a yearly/monthly ECS is created, an order ID order_id is returned.

{
    "job_id": "ff808082739334d80173943ec9b42130",
    "order_id": "CS2007281506xxxxx",
    "serverIds": [
        "fe0528f0-5b1c-4c8c-9adf-e5d5047b8c17"
    ] 
}

En el cuerpo de la solicitud anterior, el valor de extendparam.isAutoPay es true, lo que indica que el pago automático está habilitado. Si este parámetro se deja en blanco o se establece en false, debe pagar manualmente el pedido (puede usar cupones si los hay) haciendo referencia a Pago de pedidos de producto anual-mensuales.

POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay

{
    "order_id": "CS20052715001E4CR"
}

Cancelación de suscripción anual/mensual ECS

Para cancelar la suscripción anual/mensual de ECS, consulte Cancelación de suscripción de recursos anuales/mensuales.

POST https://bss.myhuaweicloud.com/v2/orders/subscriptions/resources/unsubscribe

{
  "resource_ids": [
    "21e09f37c5c9420c8746ad5c71fb3aab"
  ],
  "unsubscribe_type": 1
}

Los resource_ids indican serverIds devueltos cuando se compran ECS anuales/mensales.

Consulta de imágenes públicas disponibles

Consulte las imágenes utilizando criterios de búsqueda haciendo referencia a Consulta de imágenes. Puede escribir un signo de interrogación (?) y un ampersand (&) al final del URI para definir varios criterios de búsqueda.

A continuación se muestra un ejemplo para mostrar cómo consultar la lista de imágenes públicas.

GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true

Al llamar a la API de IMS, debe reemplazar la información de endpoint del servicio de IMS.

Al consultar la lista de imágenes, utilice la consulta de paginación para devolver todas las imágenes. Puede especificar marker y limit para consultar imágenes por página.

marker indica la imagen desde la que comienza la consulta y el valor es el ID de la imagen. limit especifica el número de imágenes que se van a consultar. El valor es un entero y es 500 de forma predeterminada.

GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true&marker=af92bb51-ec9d-4b02-912f-da0b3f0f7635&limit=5

Para consultar otros tipos de imágenes:

  • Imágenes públicas

    GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true

  • Imágenes privadas

    GET /v2/cloudimages?owner={project_id}

  • Imágenes compartidas disponibles

    GET /v2/cloudimages?member_status=accepted&visibility=shared&__imagetype=shared

  • Imágenes compartidas rechazadas

    GET /v2/cloudimages?member_status=rejected&visibility=shared&__imagetype=shared

  • Imágenes compartidas no aceptadas

    GET /v2/cloudimages?member_status=pending&visibility=shared&__imagetype=shared

  • Imágenes públicas compatibles con un tipo BMS

    GET /v2/cloudimages?__imagetype=gold&__support_xxx=true&virtual_env_type=Ironic

Si no se especifica el tipo de imagen, puede determinar el tipo de imagen desde el campo __imagetype en la respuesta.

Renovación de ECS anuales/mensuales

Si sus ECS anuales/mensuales están a punto de caducar, puede renovarlos consultando Renovación de suscripción a recursos anuales/mensuales.

A continuación se muestra un ejemplo para mostrar cómo renovar un ECS anual/mensual durante un mes, establecer el modo de facturación en pago por uso después de que expire el período de renovación y habilitar el pago automático.

POST https://bss.myhuaweicloud.com/v2/orders/subscriptions/resources/renew

{
    "resource_ids": [
        "96308d5efd7841b9a4dac673d84d0e14"
    ],
    "period_type": 2,
    "period_num": 1,
    "expire_policy": 1,
    "is_auto_pay": 1
}

Una vez que la renovación se realiza correctamente, se devuelve un ID de pedido.

{
  "order_ids": [
    "CS190401192xxxxxx"
  ]
}

En el cuerpo de la solicitud anterior, el valor de isAutoPay es 1, lo que indica que el pago automático está habilitado. Si este parámetro se deja en blanco o se establece en 0, debe pagar manualmente el pedido (puede usar cupones si los hay) haciendo referencia a Pago de pedidos de producto anual-mensuales. El siguiente es un ejemplo de pago usando un cupón.

POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay

{
    "coupon_infos": [
        {
            "id": "CP2005270256xxxxxx",
            "type": 301
        }
    ],
    "order_id": "CS190401192xxxxxx"
}

Consulta de si las variantes se pueden comprar o agotar

Puede comprobar si las variantes de ECS específicas son suficientes en una AZ por Consulta de detalles sobre información de variantes y variantes extendidas, y compruebe los valores cond:operation:status y cond:operation:az en la respuesta para determinar AZ y la disponibilidad de variante.

A continuación se muestra un ejemplo para mostrar cómo consultar variantes en AZ1 de la región CN-Hong Kong.

GET https://ecs.ap-southeast-1.myhuaweicloud.com/v1/05041fea8a8025662f4ac00927982f3e/cloudservers/flavors?availability_zone=ap-southeast-1a

Mensaje de la respuesta

{
    "id": "c3.3xlarge.2", 
    "name": "c3.3xlarge.2", 
     ...
    "os_extra_specs": {
        "cond:spot_block:operation:az": "ap-southeast-1a(sellout),ap-southeast-1b(normal),ap-southeast-1c(normal)",
        "cond:operation:az": "ap-southeast-1a(normal),ap-southeast-1b(sellout)"
        ...
        "cond:operation:status": "abandon", 
        "cond:spot_block:operation:interrupt_policy":  "ap-southeast-1a(immediate),ap-southeast-1b(immediate),ap-southeast-1c(immediate)", 
        "resource_type": "IOoptimizedC3_2"
    }
}

En la respuesta, vea cond:operation:status y cond:operation:az para comprobar si hay variantes disponibles.

Ver cond:operation:az primero. Si una AZ no está configurado en cond:operation:az, el valor cond:operation:status se utiliza de forma predeterminada.

En la región CN-Hong Kong en este ejemplo, c3.3xlarge.2 se ha usado comercialmente en AZ 1 y AZ 2 y se ha vendido en AZ 4. cond:operation:az no se ha configurado en AZ3 y por lo tanto se utiliza el valor cond:operation:status, es decir, c3.3xlarge.2 se ha puesto fuera de línea en AZ3.

Forma de pago

Cuando está creando un ECS anual/mensual (chargingMode es prePaid), puede elegir el modo de pago estableciendo el parámetro extendparam.isAutoPay.

Si este parámetro se establece en true, el pedido se paga automáticamente después de ser creado.

Si este parámetro se establece en false, debe pagar manualmente el pedido (puede usar cupones si los hay).

Puede pagar el pedido haciendo referencia a Pago de pedidos de producto anual-mensual. El siguiente es un ejemplo de pago usando un cupón.

POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay

{
    "coupon_infos": [
        {
            "id": "CP2005270256xxxxxx",
            "type": 301
        }
    ],
    "order_id": "CS190401192xxxxxx"
}

Consulta de cuotas de recursos disponibles

Puede consultar las cuotas de recursos, incluidas las cuotas usadas, de la cuenta actual haciendo referencia a Consulta de cuotas de tenant.

GET https://ecs.cn-east-2.myhuaweicloud.com/v1/05041fea8a8025662f4ac00927982f3e/cloudservers/limits

En el siguiente mensaje de respuesta, el valor maxTotalInstances es el número máximo de ECS que se pueden crear y el valor totalInstancesUsed es el número de ECS que se están utilizando.

{
	-"absolute": {
		"maxServerMeta": 128,
		"maxPersonality": 5,
		"maxImageMeta": 128,
		"maxPersonalitySize": 10240,
		"maxSecurityGroupRules": 20,
		"maxTotalKeypairs": 1000,
		"totalRAMUsed": 22528,
		"totalInstancesUsed": 4,
		"maxSecurityGroups": 10,
		"totalFloatingIpsUsed": 0,
		"maxTotalCores": 8000,
		"totalSecurityGroupsUsed": 1,
		"maxTotalFloatingIps": 10,
		"maxTotalInstances": 1000,
		"totalCoresUsed": 11,
		"maxTotalRAMSize": 16384000,
		"maxServerGroups": 32,
		"maxServerGroupMembers": 16,
		"totalServerGroupsUsed": 0,
		"maxTotalSpotInstances": 20,
		"maxTotalSpotCores": 320,
		"maxTotalSpotRAMSize": 655360,
		"totalSpotInstancesUsed": 0,
		"totalSpotCoresUsed": 0,
		"totalSpotRAMUsed": 0,
		"maxFaultDomainMembers": 200,
		"limit_by_flavor": []
	}
}

Consulta de precios de recursos

Puede llamar a las API haciendo referencia a Consulta del precio de un producto de pago por uso y Consulta del precio de un producto anual/mensual y establezca el tipo de servicio en la nube, el tipo de recurso, las especificaciones de recurso y la región de servicio en la nube para consultar los precios de productos.

El siguiente es un ejemplo para mostrar cómo consultar el precio mensual de ECS de cómputo general que ejecuta el SO de Linux y usando la variante s6.small.1 en la AZ de la región CN-Hong Kong.

POST https://bss.myhuaweicloud.com/v2/bills/ratings/period-resources/subscribe-rate
{
	"product_infos": [

		{
			   "id": "1",
			"cloud_service_type": "hws.service.type.ec2",
			"resource_type": "hws.resource.type.vm",
			"resource_spec": "s6.small.1.linux",
			"region": "ap-southeast-1",
			"available_zone": "ap-southeast-1a",
			"period_type": 2,
			"period_num": 1,
			"subscription_num": 1
		}
	],
	"project_id": "05041fea8a8025662f4ac00927982f3e"
}

En el siguiente mensaje de respuesta, el valor official_website_amount es el precio del ECS anual/mensual.

{
	-"official_website_rating_result": {
		"official_website_amount": 11.38,
		"measure_id": 1,
		-"product_rating_results": [-{
			"id": "1",
			"product_id": "00301-233164-0--0",
			"official_website_amount": 11.38,
			"measure_id": 1
		}]
	},
	"optional_discount_rating_results": [],
	"currency": USD"
}