- 计算
- 网络
- 存储与CDN
-
数据库
-
云数据库 RDS MySQL
- 产品概述
- 产品定价
- 快速入门
- 操作手册
- 案例实践
- API文档
-
常见问题
- 如何访问MySQL实例?
- MySQL实例的安全性如何?
- 如何向MySQL实例中导入数据?
- 如何向MySQL实例中导出数据?
- 如何创建新用户并授予权限?
- QPS是如何统计的?
- 什么是内存溢出?
- 默认的最大连接数是多少?
- 如何查看数据库运行状态?
- 如何查看MySQL实例的SlowLog?
- 如何修改MySQL实例的配置参数?
- 如何安装和卸载插件?
- 如何使用MySQL-Proxy使MySQL实例可以通过外网访问?
- 何查看MySQL实例的各项监控指标?
- 是否可以查看云数据库运行状态?
- 默认的配置是针对哪种存储引擎优化的?
- 如何在云主机上搭建云数据库从库并进行主从同步呢?
- 如何正确设置字符集?
- 如何查询MySQL实例的客户端和服务器端版本
- 相关协议
- 云数据库 RDS PostgreSQL
- 云数据库 Redis
- 云数据库 MongoDB
- 分布式数据库 InDDB
- 云数据库 Memcache
-
云数据库 RDS MySQL
- 安全
- 人工智能
-
大数据
- ES服务 Elasticsearch
- 数据仓库 DW
- 托管Hadoop
- 管理和监控
-
API
-
对象存储OSS
- 创建Bucket-CreateBucket
- 获取Bucket信息-DescribeBucket
- 更改Bucket属性-UpdateBucket
- 删除Bucket-DeleteBucket
- 前缀列表查询 – PrefixFileList
- 上传文件 – PutFile
- 表单上传 – PostFile
- 秒传文件-UploadHit
- 下载文件-GetFile
- 查询文件基本信息-HEADFile
- 删除文件 – DeleteFile
- 初始化分片 – InitiateMultipartUpload
- 上传分片 – UploadPart
- 完成分片 – FinishMultipartUpload
- 放弃分片 – AbortMultipartUpload
- 查看配额状态-GetUFileQuota
- 查询配额支付价格-GetUFileQuotaPrice
- 查看配额使用报表-GetUFileReport
- 获取配额信息-GetUFileQuotaInfo
- 获取已上传成功的分片列表-GetMultiUploadPart
- 更新令牌-UpdateUFileToken
- 删除令牌-DeleteUFileToken
- 获取令牌信息-DescribeUFileToken
- OSS 错误码列表
- 操作文件的Meta信息 – OpMeta
- API文档综述
-
弹性公网IP EIP
- 1、申请弹性IP-AllocateEIP
- 2、获取弹性IP信息-DescribeEIP
- 3、更新弹性IP属性-UpdateEIPAttribute
- 4、释放弹性IP-ReleaseEIP
- 5、绑定弹性IP-BindEIP
- 6、解绑弹性IP-UnBindEIP
- 7、调整弹性IP带宽-ModifyEIPBandwidth
- 8. 修改弹性IP出口权重-ModifyEIPWeight
- 9. 获取弹性IP价格-GetEIPPrice
- 10. 获取弹性IP带宽改动价格-GetEIPUpgradePrice
- 11. 获取弹性IP计费方式-GetEIPPayMode
- 12. 设置弹性IP计费方式-SetEIPPayMode
- 13. 申请内网虚拟IP-AllocateVIP
- 14. 获取内网虚拟IP信息-DescribeVIP
- 15. 释放内网虚拟IP- ReleaseVIP
- 16. 创建带宽包-CreateBandwidthPackage
- 17. 获取带宽包信息-DescribeBandwidthPackage
- 18. 删除带宽包-DeleteBandwidthPackage
- 19. 开通共享带宽-AllocateShareBandwidth
- 20. 获取共享带宽信息-DescribeShareBandwidth
- 21. 调整共享带宽-ResizeShareBandwidth
- 22. 关闭共享带宽-ReleaseShareBandwidth
- 23. 将EIP加入共享带宽-AssociateEIPWithShareBandwidth
- 24. 将EIP移出共享带宽-DisassociateEIPWithShareBandwidth
- 25. 获取带宽用量-DescribeBandwidthUsage
- 26. 更新防火墙属性-UpdateFirewallAttribute
- 27. 获取防火墙信息-DescribeFirewall
- 28. 应用防火墙-GrantFirewall
- 29. 错误码
-
云服务器ECS
- 1、获取VNC登录信息-GetUHostInstanceVncInfo
- 2、启动云服务器-StartUHostInstance
- 3、重启云服务器-RebootUHostInstance
- 4、关闭云服务器-StopUHostInstance
- 5、获取云服务器业务组列表-DescribeUHostTags
- 6、字段规范
- 7、删除云服务器-TerminateUHostInstance
- 8、重置云服务器密码-ResetUHostInstancePassword
- 9、修改云服务器业务组-ModifyUHostInstanceTag
- 10、修改云服务器名-ModifyUHostInstanceName
- 11、获取挂载磁盘的升级价格-GetAttachedDiskUpgradePrice
- 12、修改云服务器配置-ResizeUHostInstance
- 13、获取升级配置价格-GetUHostUpgradePrice
- 14、创建云服务器-CreateUHostInstance
- 15、移除硬件隔离组-LeaveIsolationGroup
- 16、创建硬件隔离组-CreateIsolationGroup
- 17、删除自制镜像-TerminateCustomImage
- 18、创建自制镜像-CreateCustomImage
- 19、导入镜像-ImportCustomImage
- 20、修改云服务器备注-ModifyUHostInstanceRemark
- 21、修改挂载的磁盘大小-ResizeAttachedDisk
- 22、模拟服务器掉电-PoweroffUHostInstance
- 23、重装系统-ReinstallUHostInstance
- 24、获取镜像列表-DescribeImage
- 25、获取云服务器价格-GetUHostInstancePrice
- 26、获取云服务器信息-DescribeUHostInstance
- 27、普通机型开启CDP-UpgradeToArkUHostInstance
-
对象存储OSS
- 用户提醒
- 服务等级协议(SLA)
- 企业上云常见问题
- 其他协议
- 云市场
- 开发者
- 账户管理
-
1. 将请求参数按照名进行升序排列
{
"Action" : "CreateUHostInstance",
"ChargeType" : "Month",
"CPU" : 2,
"DiskSpace" : 10,
"ImageId" : "f43736e1-65a5-4bea-ad2e-8a46e18883c2",
"LoginMode" : "Password",
"Memory" : 2048,
"Name" : "Host01",
"Password" : "VUNsb3VkLmNu",
"PublicKey" : "inspurcloudsomeone@example.com1296235120854146120",
"Quantity" : 1,
"Region" : "cn-inspur2",
"Zone" : "cn-inspur2-01"
}
2. 构造被签名参数串
被签名串的构造规则为: 被签名串 = 所有请求参数拼接(无需HTTP转义)。并在本签名串的结尾拼接API密钥的私钥(PrivateKey)。
ctionCreateUHostInstanceCPU2ChargeTypeMonthDiskSpace10ImageIdf43736e1-65a5-4bea-ad2e-8a46e18883c2LoginModePasswordMemory2048NameHost01PasswordVUNsb3VkLmNuPublicKeyucloudsomeone@example.com12962351208541
46120Quantity1Regioncn-inspur2Zonecn-inspur2-0446f09bb9fab4f12dfc160dae12273d5332b5debe3. 计算签名
生成被签名串的 SHA1 签名,即是请求参数”Signature”的值。
按照上述算法,本例中,计算出的Signature为 4f9ef5df2abab2c6fccd1e9515cb7e2df8c6bb65 。
Python 生成签名代码:
import hashlib
import urlparse
import urllib
def _verfy_ac(private_key, params):
items=params.items()
# 请求参数串
items.sort()
# 将参数串排序
params_data = "";
for key, value in items:
params_data = params_data + str(key) + str(value)
params_data = params_data + private_key
sign = hashlib.sha1()
sign.update(params_data)
signature = sign.hexdigest()
return signature
# 生成的Signature值
PHP 生成签名代码:
function _verfy_ac($private_key, $params) {
ksort($params);
# 参数串排序
$params_data = "";
foreach($params as $key => $value) {
$params_data .= $key;
$params_data .= $value;
}
$params_data .= $private_key;
return sha1($params_data);
# 生成的Signature值
}
4. 使用签名组合HTTP请求
4.1 Json方式
curl -X POST \
https://api.cloud.inspur.com\
-H 'Content-Type: application/json' \
-d '{
"Action" : "CreateUHostInstance",
"ChargeType" : "Month",
"CPU" : 2,
"DiskSpace" : 10,
"ImageId" : "f43736e1-65a5-4bea-ad2e-8a46e18883c2",
"LoginMode" : "Password",
"Memory" : 2048,
"Name" : "Host01",
"Password" : "VUNsb3VkLmNu",
"PublicKey" : "inspurcloudsomeone@example.com1296235120854146120",
"Quantity" : 1,
"Region" : "cn-binspur2",
"Zone" : "cn-inspur2-01",
"Signature" : "4f9ef5df2abab2c6fccd1e9515cb7e2df8c6bb65"
}'
4.2 拼接参数方式
对排序后的请求参数进行URL编码,URL 编码的规则如下:
● 字符 A~Z、a~z、0~9不编码;
● 字符“-”、“_”、“.”、“~”不编码;
● 其它字符编码成 %XY 的格式,其中 XY 是字符对应 ASCII 码的 16 进制表示。比如:英文的双引号(”)对应的编码为 %22;
● 对于扩展的 UTF-8 字符,编码成 %XY%ZA… 的格式;
● 英文空格( )要编码成 %20,而不是加号(+)。
● "PublicKey" 无需编码
构造HTTP请求,参数名和参数值之间用 "=" 连接,参数和参数之间用"&"号连接,构造的URL请求为:
http(s)://api.cloud.inspur.com/?Action=CreateUHostInstance
&CPU=2
&ChargeType=Month
&DiskSpace=10
&ImageId=f43736e1-65a5-4bea-ad2e-8a46e18883c2
&LoginMode=Password
&Memory=2048
&Name=Host01
&Password=VUNsb3VkLmNu
&PublicKey=inspurcloudsomeone%40example.com1296235120854146120
&Quantity=1
&Region=cn-inspur2
&Zone=cn-inspur2-01
将签名参数附在原有请求串的最后面。最终的HTTP请求串为(为了查看方便,我们人为地将参数之间用回车分隔开),完整的请求URL如下:(为了方便,我们人为地将参数之间用回车分隔开)。
http(s)://api.cloud.inspur.com/?Action=CreateUHostInstance
&CPU=2
&ChargeType=Month
&DiskSpace=10
&ImageId=f43736e1-65a5-4bea-ad2e-8a46e18883c2
&LoginMode=Password
&Memory=2048
&Name=Host01
&Password=VUNsb3VkLmNu
&PublicKey=inspurcloudsomeone%40example.com1296235120854146120
&Quantity=1
&Region=cn-inspur2
&Zone=cn-inspur2-02
&Signature=4f9ef5df2abab2c6fccd1e9515cb7e2df8c6bb65