操作場景
本節(jié)內(nèi)容介紹了使用 API購買 ECS過程中的一些常見問題及處理方法。
使用API購買ECS過程中常見問題及處理方法
獲取Token 并檢驗(yàn)Token的有效期
購買包周期ECS:為您介紹購買包周期資源的參數(shù)設(shè)置。
刪除包周期ECS/退訂包周期ECS:包周期資源需要通過退訂的方式才可以被刪除。
查詢可用的公共 鏡像 :購買ECS時(shí)候前查詢公共鏡像信息可以通過在GET請求后通過‘?’和‘&’添加不同的查詢條件組合。
包周期資源續(xù)費(fèi):包年/包月資源即將到期時(shí),可進(jìn)行包年/包月資源的續(xù)訂。指定資源ID,續(xù)費(fèi)方式,續(xù)費(fèi)時(shí)間,訂單支付方式。
創(chuàng)建訂單后資源未開通:創(chuàng)建完成后查不到資源信息可能是訂單尚未支付,查看訂單的狀態(tài)并完成訂單支付。
查詢規(guī)格資源是否可購買/資源是否售罄:查詢某一具體的 云服務(wù)器 規(guī)格在某可用區(qū)是否資源充足,通過響應(yīng)信息中的cond:operation:status和cond:operation:az字段的取值判斷在區(qū)域和可用區(qū)的取值。
付費(fèi)方式:創(chuàng)建包周期的云服務(wù)器時(shí)(chargingMode為prePaid),通過extendparam.isAutoPay字段控制訂單的支付方式。
查詢資源的可用配額:調(diào)用查詢租戶配額接口,通過maxTotalInstances可以查看云服務(wù)器的最大申請數(shù)量,通過totalInstancesUsed可以查看當(dāng)前云服務(wù)器使用個(gè)數(shù)。
查詢資源價(jià)格:使用查詢按需產(chǎn)品價(jià)格和查詢包年/包月產(chǎn)品價(jià)格,根據(jù)云服務(wù)類型、資源類型、云服務(wù)區(qū)和資源規(guī)格四個(gè)條件來查詢產(chǎn)品價(jià)格。
購買包周期ECS
購買包周期ECS可以使用創(chuàng)建彈性云服務(wù)器的v1.1接口,相對于創(chuàng)建按需的ECS,只需要在請求body中指定extendparam.chargingMode參數(shù)值為“prePaid”,即包年包月,指定訂購的周期等。extendparam的詳細(xì)參數(shù)解釋請參見創(chuàng)建云服務(wù)器的extendparam字段數(shù)據(jù)結(jié)構(gòu)說明。
如下所示,在cn-north-1區(qū)域購買一臺包周期ECS,時(shí)長為一個(gè)月,且下單后自動(dòng)支付,自動(dòng)續(xù)訂。
{
"server": {
"name": "newserver",
"availability_zone": "cn-north-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": "cn-north-1"
}
}
}
包周期ECS創(chuàng)建后會(huì)返回一個(gè)order_id,即訂單ID。
{
"job_id": "ff808082739334d80173943ec9b42130",
"order_id": "CS2007281506xxxxx",
"serverIds": [
"fe0528f0-5b1c-4c8c-9adf-e5d5047b8c17"
]
}
上面請求體中extendparam.isAutoPay取值為true,表示自動(dòng)支付,如果不填該字段或取值為false,則需要手動(dòng)去支付,手動(dòng)支付可以填寫優(yōu)惠券和折扣券等信息。手動(dòng)支付需要調(diào)用合作伙伴中心的支付包年/包月產(chǎn)品訂單支付,示例如下。
POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay
{
"order_id": "CS20052715001E4CR"
}
刪除包周期ECS/退訂包周期ECS
包周期ECS無法直接調(diào)用ECS接口刪除,需要調(diào)用退訂包年/包月資源接口進(jìn)行退訂。
POST https://bss.myhuaweicloud.com/v2/orders/subscriptions/resources/unsubscribe
{
"resource_ids": [
"21e09f37c5c9420c8746ad5c71fb3aab"
],
"unsubscribe_type": 1
}
其中resource_ids表示資源ID,對退訂ECS來說,就是購買包周期ECS時(shí)返回的serverIds。
查詢可用的公共鏡像
使用 鏡像服務(wù) 的查詢鏡像列表的API可以根據(jù)不同條件查詢鏡像列表信息,在GET請求后通過‘?’和‘&’添加不同的查詢條件組合。
如需查詢公共鏡像列表。
GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true
請注意調(diào)用鏡像服務(wù)接口注意替換鏡像服務(wù)的Endpoint信息。
查詢鏡像列表時(shí),建議使用分頁查詢才能返回全部的鏡像列表。通過指定marker和limit實(shí)現(xiàn)鏡像列表的分頁查詢。
maker表示從哪個(gè)鏡像開始查詢,取值為鏡像ID。limit表示查詢幾條鏡像記錄,取值為整數(shù),默認(rèn)取值為500。
GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true&marker=af92bb51-ec9d-4b02-912f-da0b3f0f7635&limit=5
如需查詢其他的鏡像類型
---公共鏡像列表查詢
GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true
--- 私有鏡像列表查詢
GET /v2/cloudimages?owner={project_id}
---可以使用的共享鏡像列表
GET /v2/cloudimages?member_status=accepted&visibility=shared&__imagetype=shared
---被拒絕的共享鏡像列表
GET /v2/cloudimages?member_status=rejected&visibility=shared&__imagetype=shared
---未接受的共享鏡像列表
GET /v2/cloudimages?member_status=pending&visibility=shared&__imagetype=shared
--- 裸金屬服務(wù)器 某規(guī)格支持的公共鏡像列表
GET /v2/cloudimages?__imagetype=gold&__support_xxx=true&virtual_env_type=Ironic
如果未指定鏡像類型,那么可以通過響應(yīng)信息中的__imagetype字段判斷鏡像類型。
包周期資源續(xù)費(fèi)
包年/包月資源即將到期時(shí),可進(jìn)行包年/包月資源的續(xù)訂。通過調(diào)用續(xù)訂包年/包月資源接口進(jìn)行續(xù)費(fèi)。
如下所示,指定資源ID,按月續(xù)費(fèi),續(xù)費(fèi)1個(gè)月,到期后轉(zhuǎn)按需,并自動(dòng)支付訂單。
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
}
續(xù)費(fèi)成功后會(huì)返回一個(gè)order_id,即訂單ID。
{
"order_ids": [
"CS190401192xxxxxx"
]
}
上面請求體中isAutoPay取值為1,表示自動(dòng)支付,如果不填該字段或取值為0,則需要手動(dòng)去支付,手動(dòng)支付可以填寫優(yōu)惠券和折扣券等信息。手動(dòng)支付需要調(diào)用支付包年/包月產(chǎn)品訂單支付,以下示例是使用一張優(yōu)惠券,優(yōu)惠券類型為代金券的請求示例。
POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay
{
"coupon_infos": [
{
"id": "CP2005270256xxxxxx",
"type": 301
}
],
"order_id": "CS190401192xxxxxx"
}
創(chuàng)建訂單后資源未開通
訂單創(chuàng)建后未查詢到服務(wù)器信息,可能是由于指定了自動(dòng)支付:請求體中extendparam.isAutoPay取值為false或續(xù)費(fèi)時(shí)isAutoPay取值為0。
通常服務(wù)器創(chuàng)建后會(huì)返回一個(gè)order_id,即訂單ID。
{
"job_id": "ff808082739334d80173943ec9b42130",
"order_id": "CS2007281506xxxxx",
"serverIds": [
"fe0528f0-5b1c-4c8c-9adf-e5d5047b8c17"
]
}
通過調(diào)用查詢訂單的資源開通詳情接口查看訂單的狀態(tài)
請求示例
GET
https://bss.myhuaweicloud.com/v1.0/{domain_id}/common/order-mgr/orders-resource/CS2007281506xxxxx
響應(yīng)示例
{
"totalSize": 1,
"resources": [
{
"resourceId": "01c*****5f7",
"cloudServiceType": "hws.service.type.ec2",
"regionCode": "xxxxx",
"resourceType": "hws.resource.type.vm",
"resourceSpecCode": "h1.8xlarge.4.gwc01",
"resourceSize": null,
"resouceSizeMeasureId": null,
"status": 6
}
}
響應(yīng)示例中"status": 6說明訂單狀態(tài)為待付款。此時(shí)需要手動(dòng)支付該訂單
手動(dòng)支付可以填寫優(yōu)惠券和折扣券等信息。
手動(dòng)支付需要調(diào)用支付包年/包月產(chǎn)品訂單支付,以下示例是使用一張優(yōu)惠券,優(yōu)惠券類型為代金券的請求示例。
POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay
{
"coupon_infos": [
{
"id": "CP2005270256xxxxxx",
"type": 301
}
],
"order_id": "CS2007281506xxxxx"
}
查詢規(guī)格資源是否可購買/資源是否售罄
如需查詢某一具體的云服務(wù)器規(guī)格在某可用區(qū)是否資源充足,可以通過調(diào)用查詢規(guī)格詳情和規(guī)格擴(kuò)展信息列表查看該規(guī)格的詳細(xì)信息。并通過響應(yīng)信息中的cond:operation:status和cond:operation:az字段的取值判斷在區(qū)域和可用區(qū)的取值。
例如查詢?nèi)A東上海二可用區(qū)一的資源情況,請求URI如下。
GET https://ecs.cn-east-2.myhuaweicloud.com/v1/05041fea8a8025662f4ac00927982f3e/cloudservers/flavors?availability_zone=cn-east-2a
響應(yīng)信息
{
"id": "c3.3xlarge.2",
"name": "c3.3xlarge.2",
...
"os_extra_specs": {
"cond:spot_block:operation:az": "cn-east-2a(sellout),cn-east-2b(normal),cn-east-2c(normal),cn-east-2d(normal)",
"cond:operation:az": ,"cn-east-2d(sellout),cn-east-2a(normal),cn-east-2b(normal)"
...
"cond:operation:status": "abandon",
"cond:spot_block:operation:interrupt_policy": "cn-east-2d(immediate),cn-east-2a(immediate),cn-east-2b(immediate),cn-east-2c(immediate)",
"resource_type": "IOoptimizedC3_2"
}
}
響應(yīng)信息中通過cond:operation:status和cond:operation:az字段的取值判斷資源是否可用。
優(yōu)先查看cond:operation:az的取值,如果某個(gè)可用區(qū)沒有在cond:operation:az參數(shù)中配置時(shí)默認(rèn)使用cond:operation:status的取值。
例如本例中,c3.3xlarge.2在華東上海二的可用區(qū)一、可用區(qū)二正常商用,可用區(qū)四售罄,可用區(qū)三在在cond:operation:az中無配置信息,則以cond:operation:status的取值為準(zhǔn),即c3.3xlarge.2在華東上海二的可用區(qū)三下線。
付費(fèi)方式
創(chuàng)建包周期的云服務(wù)器時(shí)(chargingMode為prePaid),通過extendparam.isAutoPay字段控制訂單的支付方式。
取值為true在訂單創(chuàng)建完成后自動(dòng)支付。
取值為false訂單需要用戶手動(dòng)支付。手動(dòng)支付可以填寫優(yōu)惠券和折扣券等信息。
手動(dòng)支付需要調(diào)用支付包年/包月產(chǎn)品訂單接口進(jìn)行支付,以下示例是使用一張優(yōu)惠券,優(yōu)惠券類型為代金券的請求示例。
POST https://bss.myhuaweicloud.com/v2/orders/customer-orders/pay
{
"coupon_infos": [
{
"id": "CP2005270256xxxxxx",
"type": 301
}
],
"order_id": "CS190401192xxxxxx"
}
查詢資源的可用配額
如需查詢當(dāng)前賬號的資源配額信息,包括已使用的配額,可以通過調(diào)用查詢租戶配額接口。
GET https://ecs.cn-east-2.myhuaweicloud.com/v1/05041fea8a8025662f4ac00927982f3e/cloudservers/limits
響應(yīng)信息如下,例如通過maxTotalInstances可以查看云服務(wù)器的最大申請數(shù)量,通過totalInstancesUsed可以查看當(dāng)前云服務(wù)器使用個(gè)數(shù)。
{
-"absolute": {
"maxServerMeta": 128,
"maxPersonality": 5,
"maxImageMeta": 128,
"maxPersonalitySize": 10240,
"maxSecurityGroupRules": 20,
"maxTotalKeypairs": 1000,
"total RAM Used": 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": []
}
}
查詢資源價(jià)格
使用查詢按需產(chǎn)品價(jià)格和查詢包年/包月產(chǎn)品價(jià)格,根據(jù)云服務(wù)類型、資源類型、云服務(wù)區(qū)和資源規(guī)格四個(gè)條件來查詢產(chǎn)品價(jià)格。
例如查詢?nèi)A東上海二可用區(qū)、通用計(jì)算型、Linux操作系統(tǒng)、s6.small.1規(guī)格的包月,一個(gè)月的價(jià)格。
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": "cn-east-2",
"available_zone": "cn-east-2a",
"period_type": 2,
"period_num": 1,
"subscription_num": 1
}
],
"project_id": "05041fea8a8025662f4ac00927982f3e"
}
響應(yīng)信息如下所示,其中official_website_amount字段的取值即為包年/包月產(chǎn)品價(jià)格。
{
-"official_website_rating_result": {
"official_website_amount": 32.2,
"measure_id": 1,
-"product_rating_results": [-{
"id": "1",
"product_id": "00301-233164-0--0",
"official_website_amount": 32.2,
"measure_id": 1
}]
},
"optional_discount_rating_results": [],
"currency": "CNY"
}