Yundun Api Sdk For Python
Project description
云盾 api sdk for python
说明
- 接口基地址: 'https://apiv4.yundun.com/V4/';
- 接口遵循RESTful,默认请求体json,接口默认返回json
- app_id, app_secret 联系技术客服,先注册一个云盾的账号,用于申请绑定api身份
签名算法
- 每次请求都签名,保证传输过程数据不被篡改
- 客户端:sha256签名算法,将参数base64编码+app_secret用sha256签名,每次请求带上签名
- 服务端:拿到参数用相同的算法签名,对比签名是否正确
sdk 使用说明
- 环境:python >=3.5
- 支持get/post/patch/put/delete方法
- 参数说明
- app_id 云盾分配的app_id
- app_secert 云盾分配的app_secert, 用于签名数据
- api_pre api前缀
- user_id 当前使用者在云盾的用户ID
- timeout 请求超时时间,默认10秒,请合理设置
- 每次调用会返回三个参数:(原始字符串,解析后的json字典,错误字符串)
- 注意事项 针对所有请求,uri与get参数是分离的,如 https://apiv4.yundun.com/V4/version?v=1, 调用时v=1参数,须通过query传递 raw, body, err = sdk.get('version', query={'v': 1})
安装
pip install ydsdk
使用
### 实例化 YdSdk
import logging
from ydsdk import YdSdk
## 添加日志
logger = logging.getLogger()
formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
##日志输出到文件
fileHandle = logging.FileHandler('/tmp/ydsdk.log', encoding='utf-8')
fileHandle.setFormatter(formatter)
logger.addHandler(fileHandle)
##日志输出到stdout
streamHandle = logging.StreamHandler()
streamHandle.setFormatter(formatter)
logger.addHandler(streamHandle)
sdk = YdSdk({
"app_id": 'xxxxxxxxxxx',
"app_secert": 'xxxxxxxxxxxxx',
"api_pre": "https://apiv4.yundun.com/V4/",
"user_id": 1,
"timeout": 30,
"logger": logger, ##如果不需要,此参数可不传
})
### get 方式请求数据
raw, jsonData, err = sdk.get('test')
print(raw, jsonData, err)
### post 方式请求数据
query = {}
postData = {'domain_id': 1, 'status': 2}
raw, body, err = sdk.post('test.save', postData = postData, query=query)
print(raw, jsonData, err)
### patch 方式请求数据
query = {}
postData = {'domain_id': 1, 'status': 2}
raw, body, err = sdk.patch('test.save', postData = postData, query=query)
if err != "":
print("error: ", err)
else:
print(raw, jsonData)
### put 方式请求数据
query = {}
postData = {'domain_id': 1, 'status': 2}
raw, body, err = sdk.put('test.save', postData = postData, query=query)
print(raw, jsonData, err)
### delete 方式请求数据
query = {}
postData = {'domain_id': 1, 'status': 2}
raw, body, err = sdk.put('test.save', postData = postData, query=query)
print(raw, jsonData, err)
### put方式请求数据
query = {}
postData = {'domain_id': 1, 'status': 2}
raw, body, err = sdk.put('test.save', postData = postData, query=query)
print(raw, jsonData, err)
更新日志
- 2020.04.29 v0.1.7
规范demo中的api地址
- 2020.09.14 v0.1.8
更新demo中的api访问地址
- 2020.10.13 v0.2.0
签名算法升级
- 2020.10.13 v0.2.2
修正多维数据签名时,排序算法导致的签名失败问题
增加针对多维数据的单元测试
- 2020.10.18 v0.2.3
修正多线程并行执行时,变量不安全问题
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ydsdk-0.2.6.tar.gz
(6.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ydsdk-0.2.6-py3-none-any.whl
(7.7 kB
view details)
File details
Details for the file ydsdk-0.2.6.tar.gz.
File metadata
- Download URL: ydsdk-0.2.6.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd8b39d3d45a42df2f21956f52d477f8a0f5e0fed74e230a30ac787340bc4d91
|
|
| MD5 |
5f37c3f8d79dbe0569bffcaedf5ce841
|
|
| BLAKE2b-256 |
10c0183acd10e33bf38c294ad932c94b8e26635baa635b7bbe0c94e533191d72
|
File details
Details for the file ydsdk-0.2.6-py3-none-any.whl.
File metadata
- Download URL: ydsdk-0.2.6-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b3be82f2449731ba8b99467fe7c5a69c50526be71f55a46abe3ae4ef880942b
|
|
| MD5 |
360b324312bb6b00afe46acb28342ca8
|
|
| BLAKE2b-256 |
2cabd7e71f1918a4bb5b3baa2ff57c2bf6a7252634367fb1e400fc59a1b3ccf8
|