客户端-侧蟒蛇图书馆
stackhut-client的Python项目详细描述
stackhut客户端库
stackhut客户机库从python代码中动态异步调用dev、local和托管的stackhut服务,就好像它是本地函数一样。
- 主页:https://www.stackhut.com
- 免费软件:apache许可证
- 文档:https://stackhut.readthedocs.org。
说明
库中有3个主要对象,
shservice
这是为每个服务创建的用于与其通信的主库。它需要几个构造参数,方括号中的参数是可选的,
importstackhut_clientasclientclient.SHService(author,service_name,[service_version],[auth],[host])
- author-服务的作者
- 服务名称-服务名称
- 版本-服务的特定版本(如果为空,则为最新版本)
- auth-用于对私有服务请求进行身份验证的对象
- host-stackhut api服务器的url,可以在开发期间设置为指向本地服务器,如果留空,则为https://api.stackhut.com
要进行远程调用,只需调用服务对象上的接口和方法名,例如
result=service.Interface.method(params,...)
shauth
用于对服务请求进行身份验证的可选对象,
client.SHAuth(user,[hash],[token])
- user-已注册stackhut用户的用户名
- hash-用户密码的哈希(可以在~/.stackhut.cfg中找到)。注意不要在面向公众的代码中使用。
- 令牌-为用户创建的有效API令牌
hash或token中的一个必须存在于auth对象中,才能授权给定用户的请求。
舍罗尔
在被拒绝的承诺的catch块中发生远程服务错误时返回。
对象有3个参数,
- 代码-rpc错误代码
- 消息-描述错误的字符串
- data-一个可选对象,它可能包含用于处理错误的附加结构化数据
示例
使用现有的服务名为
importstackhut_clientasclientservice=client.SHService('stackhut','web-tools')
从这里开始,我们可以调用托管stackhut/demo nodejs服务公开的任何接口上的任何函数,如下所示,
result=service.Default.renderWebpage("http://www.stackhut.com",1024,768)print("Page render at {}".format(result))
注释
- Python3+目前(构建于3.4之上),着眼于Python2.x兼容性的未来。
- 调用当前是同步的,但在Python3.5发布后,我们将切换到基于异步的解决方案。