1

有什么方法可以将云堆栈 API 与 java / python 一起使用?

在云堆栈文档中,他们只提供了有关 API 接口的信息。如何将这些 API 与编程语言一起使用?

4

2 回答 2

1

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 请求

  1. 使用端口 8096 的未经身份验证的 API 请求(使用管理 UI 打开端口 8096)
  2. 使用签名认证的 API 请求

用于创建签名的示例 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()
于 2013-09-02T12:13:07.300 回答
0

也许这个例子可以帮助你,

也看看他们的api

wiki页面也是开始使用 api 的好方法。

于 2013-08-05T06:05:39.240 回答