💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[链接](https://blog.csdn.net/qq_25275355/article/details/121968196) # **前菜:** 1.创建华为云服务器的步奏如下: 友情链接 查询可用区列表:确定待创建云服务器所在的可用区。 查询云服务器规格详情列表:确定待创建云服务器的规格。 查询镜像列表详情:确定待创建云服务器使用的镜像。 查询网络列表:确定云服务器的网络信息。 创建和导入SSH密钥:设置密钥对登录方式。 创建云服务器:创建密钥对登录鉴权的云服务器。 查询云服务器详情:确认云服务器创建成功。 2.以下是此次对接常用对比的两个地方 2.1 询价 2.2 购买云服务 3.统一身份认证(Identity and Access Management,简称IAM) IAM是由主账号创建出来的用户,是云服务的使用人员,具有独立的身份凭证(密码和访问密钥),根据帐号授予的权限使用资源,IAM用户不进行独立的计费,由所属帐号统一付费。 (个人理解:IAM就是用来区分项目权限的账号) AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证(一般是 够用)。 创建IAM的token: IAM用户Token(用户+密码) 视频帮忙理解​​​​​ 视频帮助_统一身份认证服务 IAM_华为云 # **主菜:** 此次踩坑只是做云服务器的询价!!! 基本思路(计费方式都是包年包月的场景) 开始之前补充一点:必须先用主账号创建地域对应的项目ID(下面的api对接都要用到) ### **第一步:选地域** 查询地域接口 ### **第二步:选可用区** ``` { "availabilityZoneInfo": [ { "hosts": null, "zoneState": { "available": true }, "zoneName": "cn-east-2a" }, { "hosts": null, "zoneState": { "available": true }, "zoneName": "cn-east-2b" }, { "hosts": null, "zoneState": { "available": true }, "zoneName": "cn-east-2c" }, { "hosts": null, "zoneState": { "available": true }, "zoneName": "cn-east-2d" } ] } ``` 很遗憾1,可用区没有返回中文字段:需要的亲,,,只能自己手动转 规律是,a代表可用区一,以此类推。。。。目测只有a ,b,c....到g ### **第三步:选实例规格** 查规格配置 阿里云、腾讯云都是规格里带可用区(选了随机可用区的场景),这个接口比较怪异,需要自己改造一下,根据一下字段来 ``` "os_extra_specs": { "cond:operation:az": "cn-east-2b(normal)" } ``` ### **第四步:选镜像** 查询镜像api 镜像已经不归位弹性云服务器的范畴,属于镜像服务 ### **第五步:选磁盘** 查询磁盘信息 磁盘已经不归位弹性云服务器的范畴,属于云硬盘服务。 过滤掉售罄的云硬盘 和 不支持云硬盘类型的可用区,可根据一下返回字段处理 os-vendor-extended:sold_out_availability_zones # 当前云硬盘类型已售罄的可用区列表。 RESKEY:availability_zones # 支持当前云硬盘类型的可用区列表 很遗憾2 磁盘大小配额,没有返回 通过创建云服务器API接口得知: 系统盘大小,容量单位为GB, 输入大小范围为[1,1024]。 数据盘大小,容量单位为GB,输入大小范围为[10,32768]。 磁盘类: 极速型SSD ESSD 超高IO SSD 通用型SSD GPSSD 高IO SAS 普通IO(上一代产品) SATA ## **第六步:选带宽** 很遗憾3 没有api 通过创建云服务器API接口得知: 功能说明:带宽大小 带宽(Mbit/s),取值范围为[1,2000]。 调整带宽时的最小单位会根据带宽范围不同存在差异。 小于等于300Mbit/s:默认最小单位为1Mbit/s。 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。 大于1000Mbit/s:默认最小单位为500Mbit/s。 ## **第七步:询价** 华为云包年包月价格接口 需要用到的接口如下: 1. 查询资源类型列表 2.查询云服务类型列表 例子 ``` { "product_infos":[ { "id":"1", "cloud_service_type":"hws.service.type.ec2", "resource_type":"hws.resource.type.vm", "resource_spec":"s3.medium.4.linux", "region":"cn-east-3", "available_zone":"cn-east-3a", "resource_size":null, "size_measure_id":0, "period_type":2, "period_num":1, "subscription_num":1 }, { "id":"2", "cloud_service_type":"hws.service.type.vpc", "resource_type":"hws.resource.type.ip", "resource_spec":"5_bgp", "region":"cn-east-3", "available_zone":null, "resource_size":null, "size_measure_id":15, "period_type":2, "period_num":1, "subscription_num":1 }, { "id":"3", "cloud_service_type":"hws.service.type.ebs", "resource_type":"hws.resource.type.volume", "resource_spec":"GPSSD", "region":"cn-east-3", "available_zone":"cn-east-3a", "resource_size":40, "size_measure_id":17, "period_type":2, "period_num":1, "subscription_num":1 }, { "id":"4", "cloud_service_type":"hws.service.type.vpc", "resource_type":"hws.resource.type.bandwidth", "resource_spec":"19_bgp", "region":"cn-east-3", "available_zone":"cn-east-3a", "resource_size":40, "size_measure_id":15, "period_type":2, "period_num":1, "subscription_num":1 } ], "project_id":"07ae2a84cc000f002f46c014b6eb3e53" } ``` 目前仅支持 go、java、python 如果你是php,福利来了 ``` <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://bss.myhuaweicloud.com/v2/bills/ratings/period-resources/subscribe-rate', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>'{ "product_infos":[ { "id":"1", "cloud_service_type":"hws.service.type.ec2", "resource_type":"hws.resource.type.vm", "resource_spec":"s3.medium.4.linux", "region":"cn-east-3", "available_zone":"cn-east-3a", "resource_size":null, "size_measure_id":0, "period_type":2, "period_num":1, "subscription_num":1 }, { "id":"2", "cloud_service_type":"hws.service.type.vpc", "resource_type":"hws.resource.type.ip", "resource_spec":"5_bgp", "region":"cn-east-3", "available_zone":null, "resource_size":null, "size_measure_id":15, "period_type":2, "period_num":1, "subscription_num":1 }, { "id":"3", "cloud_service_type":"hws.service.type.ebs", "resource_type":"hws.resource.type.volume", "resource_spec":"GPSSD", "region":"cn-east-3", "available_zone":"cn-east-3a", "resource_size":40, "size_measure_id":17, "period_type":2, "period_num":1, "subscription_num":1 }, { "id":"4", "cloud_service_type":"hws.service.type.vpc", "resource_type":"hws.resource.type.bandwidth", "resource_spec":"19_bgp", "region":"cn-east-3", "available_zone":"cn-east-3a", "resource_size":40, "size_measure_id":15, "period_type":2, "period_num":1, "subscription_num":1 } ], "project_id":"07ae2a84cc000f002f46c014b6eb3e53" }', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'X-Auth-Token: 你的token' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ``` ### **第八部:洗洗睡了**