有什么方法可以将云堆栈 API 与 java / python 一起使用?
在云堆栈文档中,他们只提供了有关 API 接口的信息。如何将这些 API 与编程语言一起使用?
有什么方法可以将云堆栈 API 与 java / python 一起使用?
在云堆栈文档中,他们只提供了有关 API 接口的信息。如何将这些 API 与编程语言一起使用?
CloudStack API 可以使用
使用命令行界面 (CLI) CloudMonkey - https://cwiki.apache.org/CLOUDSTACK/cloudstack-cloudmonkey-cli.html
使用 Https 请求- http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.0.0-incubating/html-single/API_Developers_Guide/
使用 CloudStack 客户端- https://github.com/jasonhancock/cloudstack-python-client
我们可以发出两种类型的 Http 请求
用于创建签名的示例 Python 代码
import urllib2
import urllib // to make the url request
import hashlib //encode it to http
import hmac
import base64 //encording
request={}
request['command']='listUsers'
request['response']='xml'
request['apikey']='zdfhgsdhfgseahyg'
secretkey='ghfgfgfg'
>>> request
{'apikey': 'plgWJfZK4gyS3mOMTVmjUVg-X-jlWlnfaUJ9GAbBbf9EdM-kAYMmAiLqzzq1ElZLYq_u38zCm0bewzGUdP66mg', 'command': 'listUsers', 'response': 'json'}
>>>request_url="&".join(["=".join([r,urllib.quote_plus(request[r])]) for r in request.keys()])
>>>sig_url="&".join(["=".join([r.lower(),urllib.quote_plus(request[r]).lower()]) for r in sorted(request.iterkeys())])
>>>sig=urllib.quote_plus(base64.encodestring(hmac.new(secretkey,sig_url,hashlib.sha1).digest()).strip())
>>> req=url+request_url+'&signature='+sig
>>> res=urllib2.urlopen(req)
>>> res.read()