阿里云ECS中的CloudMonitor API属于RPC类型,通过发送HTTP请求可以称为CloudMonitor API。
我正在调用 QueryMetricList 以使用此命令查询ECS实例的监视数据。
http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&Metric=cpu_idle
如何通过API签名对每个API请求进行身份验证。
我对此表示感谢。
答案 0 :(得分:0)
要通过API签名验证API请求,您需要访问ID 和访问密钥机密。
让我将访问ID 和访问密钥秘密分别视为密钥和值:
添加签名之前的请求:
http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&AccessKeyId=Key
&SignatureMethod=HMAC-SHA1
&Metric=cpu_idle
AccessKey机密为value
,用于HMAC计算的密钥为value&
。然后计算出签名值。
将签名值添加到上述API请求中。
例如,让我考虑signature = "sdsdfasdfa"
,那么请求将是:
http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&AccessKeyId=Key
&SignatureMethod=HMAC-SHA1
&Signature="sdsdfasdfa"
&Metric=cpu_idle