Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> Elastic Cloud Server> Referência de API> Exemplos de aplicação> Problemas comuns na criação dos ECS usando as API
Atualizado em 2022-11-08 GMT+08:00

Problemas comuns na criação dos ECS usando as API

Cenários

Esta seção descreve os problemas e soluções comuns quando você usa as API para comprar os ECS.

Tabela 1 Problemas sobre a criação dos ECS usando as API

Categoria

Solução

Compra dos ECS anuais/mensais

Defina parâmetros para a compra dos ECS anuais/mensais.

Cancelamento da assinatura dos ECS anuais/mensais

Cancele a inscrição dos ECS anuais/mensais.

Consultando imagens públicas disponíveis

Digite pontos de interrogação (?) e (&) no final do URI para definir vários critérios de pesquisa.

Renovação dos ECS anuais/mensais

Renove a assinatura dos ECS anuais/mensais e especifique o ID do recurso, o modo de renovação, o tempo de renovação e o método de pagamento.

Consultando se os sabores podem ser comprados ou vendidos

Verifique se as variantes de ECS especificadas estão disponíveis em uma AZ exibindo cond:operation:status e cond:operation:az na resposta.

Método de pagamento

Escolha o modo de pagamento definindo o parâmetro extendparam.isAutoPay ao criar um ECS anual/mensal (chargingMode é prePaid).

Consultando Quotas de Recursos Disponíveis

Chame uma API consultando Consulta de cotas de locatário. Exiba maxTotalInstances para verificar o número máximo dos ECS que podem ser criados e exiba totalInstancesUsed para verificar o número dos ECS que estão sendo usados.

Consultando Preços de Recursos

Chamar as API consultando Consulta do preço de um produto Pay-Per-Use e Consulta do preço de um produto anual/mensal e definir o serviço de nuvem tipo, tipo de recurso, especificações de recurso e região de serviço de nuvem para consultar preços de produtos.

Compra dos ECS anuais/mensais

Você pode consultar Criação dos ECS para comprar os ECS anuais/mensais. Diferente de chamar a API para criar os ECS pagos por uso, você só precisa definir extendparam.chargingMode como prePaid e definir o período de compra no corpo da solicitação. Para obter detalhes sobre extendparam, consulte Descrição do campo extendparam para criação dos ECS.

Veja a seguir um exemplo para mostrar como comprar um ECS anual/mensal na região ap-southeast-1 com a duração de uso de um mês e pagamento automático e renovação automática ativados.

{
    "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"
        }
    }
}

Depois que um ECS anual/mensal é criado, um ID de pedido order_id é retornado.

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

No corpo da solicitação anterior, o valor de extendparam.isAutoPay é true, indicando que o pagamento automático está ativado. Se este parâmetro for deixado em branco ou definido como false, você precisa pagar manualmente pelo pedido (você pode usar cupons, se houver) consultando Pagamento de encomendas de produtos anuais-mensais.

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

{
    "order_id": "CS20052715001E4CR"
}

Cancelamento da assinatura dos ECS anuais/mensais

Para cancelar a assinatura de ResourcesUnsubscribing anuais/mensais, consulte Cancelamento da subscrição de recursos anuais/mensais.

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

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

O resource_ids indica os serverIds retornados quando os ECS anuais/mensais estão sendo comprados.

Consultando imagens públicas disponíveis

Consultar imagens usando critérios de pesquisa referindo-se a Consulta de imagens. Você pode digitar um ponto de interrogação (?) e um (&) comercial no final do URI para definir vários critérios de pesquisa.

O seguinte é um exemplo para mostrar como consultar a lista de imagens públicas.

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

Ao chamar a API do IMS, você precisa substituir as informações de endpoint do serviço do IMS.

Ao consultar a lista de imagens, use a consulta de paginação para retornar todas as imagens. Você pode especificar marker e limit para consultar imagens por página.

marker indica a imagem a partir da qual a consulta é iniciada e o valor é o ID da imagem. limit especifica o número de imagens a serem consultadas. O valor é um inteiro e é 500 por padrão.

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

Para consultar outros tipos de imagens:

  • Imagem pública:

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

  • Imagens privadas

    GET /v2/cloudimages?owner={project_id}

  • Imagens compartilhadas disponíveis

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

  • Imagens compartilhadas rejeitadas

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

  • Imagens compartilhadas não aceitas

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

  • Imagens públicas suportadas por um flavor BMS

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

Se o tipo de imagem não for especificado, você poderá determinar o tipo de imagem no campo __imagetype na resposta.

Renovação dos ECS anuais/mensais

Se os seus ECS anuais/mensais estiverem prestes a expirar, você poderá renová-los consultando Renovação da assinatura de recursos anuais/mensais.

Veja a seguir um exemplo para mostrar como renovar um ECS anual/mensal por um mês, definir o modo de cobrança para pagamento por uso após o período de renovação expirar e ativar o pagamento 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
}

Após a renovação ser bem-sucedida, um ID de pedido é retornado.

{
  "order_ids": [
    "CS190401192xxxxxx"
  ]
}

No corpo da solicitação anterior, o valor de isAutoPay é 1, indicando que o pagamento automático está ativado. Se este parâmetro for deixado em branco ou definido como 0, você precisa pagar manualmente pelo pedido (você pode usar cupons, se houver) consultando Pagamento de encomendas de produtos anuais e mensais. O seguinte é um exemplo de pagamento usando um cupom.

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

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

Consultando se os sabores podem ser comprados ou vendidos

Você pode verificar se as variantes ECS específicos são suficientes em uma AZ consultando Consulta de detalhes sobre variantes e informações estendidas sobre variantes, e verifique os valores de cond:operation:status e cond:operation:az na resposta para determinar a disponibilidade de AZ e sabor.

Veja a seguir um exemplo para mostrar como consultar sabores em AZ1 da região CN-Hong Kong.

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

Mensagem de resposta

{
    "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"
    }
}

Na resposta, visualize cond:operation:status e cond:operation:az para verificar se há sabores disponíveis.

Exibir primeiro cond:operation:az. Se uma AZ não estiver configurada em cond:operation:az, o valor cond:operation:status será usado por padrão.

Na região de CN-Hong Kong neste exemplo, c3.3xlarge.2 foi usado comercialmente em AZ 1 e em AZ 2 e foi vendido para fora em AZ 4. cond:operation:az não foi configurado em AZ3 e conseqüentemente em O valor cond:operation:status é usado, ou seja, c3.3xlarge.2 foi colocado off-line no AZ3.

Método de pagamento

Ao criar um ECS anual/mensal (chargingMode é prePaid), você pode escolher o modo de pagamento definindo o parâmetro extendparam.isAutoPay.

Se este parâmetro estiver definido como true, o pedido é pago automaticamente após ser criado.

Se este parâmetro for definido como false, você precisará pagar manualmente pelo pedido (você pode usar cupons, se houver).

Você pode pagar pelo pedido consultando Pagamento de encomendas de produtos anuais e mensais. O seguinte é um exemplo de pagamento usando um cupom.

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

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

Consultando Quotas de Recursos Disponíveis

Você pode consultar as cotas de recursos, incluindo as cotas usadas, da conta atual consultando Consulta de cotas de tenant.

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

Na mensagem de resposta a seguir, o valor maxTotalInstances é o número máximo dos ECS que podem ser criados e o valor totalInstancesUsed é o número dos ECS que estão sendo usados.

{
	-"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": []
	}
}

Consultando Preços de Recursos

Você pode chamar APIs consultando Consulta do preço de um produto Pay-Per-Use e Consulta do preço de um produto anual/mensal e defina o tipo de serviço de nuvem, o tipo de recurso, as especificações de recursos e a região de serviço de nuvem para consultar os preços dos produtos.

Veja a seguir um exemplo para mostrar como consultar o preço mensal do ECS de computação geral executando o sistema operacional Linux e usando o sabor s6.small.1 na AZ da região 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"
}

Na mensagem de resposta a seguir, o valor official_website_amount é o preço do ECS anual/mensal.

{
	-"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"
}