通过 pip 安装
$ pip install pdr_python_sdk
Pandora Python SDK 版本 | Python 版本 |
---|---|
1.x | 3.8, 3.9 |
from pdr_python_sdk.client import *
params = {
"scheme": "<http|https>",
"host": "localhost",
"port": 80,
"token": "<YourAccessToken>"
}
conn = connect(**params)
data = [ {"raw": "the raw data 1"}, {"raw": "the raw data 2"} ]
conn.data_upload(data=data, repo="repo_name", sourcetype="sourcetype_name")
from pdr_python_sdk.manager import *
# conn 是pandora的客户端
sm = SearchManager(conn)
# 搜索返回原始结构
sm.query("repo=default | stats count() by host", start=0, end=int(time.time() * 1000))
# 搜索返回pandas的dataframe结构
df = sm.query_to_pandas("repo=default | stats count() by host", start=0, end=int(time.time() * 1000))
from pdr_python_sdk.api.on_demand_api import OnDemandApi
from pdr_python_sdk.api.response import Response
from pdr_python_sdk.on_demand_action import run
# 自定义API返回 hello world 结果
class HelloWorldApi(OnDemandApi):
def do_handle_data(self, data):
if not data.contains_request():
raise Exception('api data should contain request details')
request = data.request()
if 'GET' != str.upper(request.method()):
return Response(405, 'unsupported method [{}]'.format(str.upper(request.method()))).to_string()
return Response(204, [{"hello": "world"}]).to_string()
from pdr_python_sdk.spl import SplStreamingBatchCommand
from pdr_python_sdk.on_demand_action import run
class Foobar(SplStreamingBatchCommand):
def streaming_handle(self, lines):
for line in lines:
line['foo'] = 'bar'
return lines
- 产品使用文档和API文档可以参考使用文档, API文档
- 关于SDK更多的Demo,可以查看Demo 链接。
- 如果发现了bug, 欢迎提交 issue
- 如果有功能需求,欢迎提交 issue
- 如果要提交代码,欢迎提交 pull request
Apache-2.0 .详情见 License文件.