跳转到主要内容

StackStorm(st2)事件驱动自动化平台的Python客户端库和CLI。

项目描述

从Python包索引(PyPi)安装稳定/生产版本

pip install st2client

从源安装最新开发版本

本地克隆StackStorm/st2存储库,切换到st2client目录,然后运行“python setup.py install”或使用pip从git直接安装

pip install "git+https://github.com/stackstorm/st2.git#egg=st2client&subdirectory=st2client"

端点配置

默认情况下,Python客户端和CLI将从环境中检索端点配置。如果没有提供配置,客户端将假定localhost和默认端口。

  • ST2_BASE_URL - StackStorm API服务器端点的基本URL(例如 http://127.0.0.1)。如果只提供了基本URL,客户端将假定API服务器使用默认端口。如果提供了任何API服务器URL,它将覆盖基本URL和默认端口。

  • ST2_AUTH_URL - 用于身份验证的认证API端点的URL。

  • ST2_API_URL - Action REST API 的端点(例如 https://example.com/api),用于管理操作、执行、触发器、规则和其他资源。

  • ST2_STREAM_URL - 用于事件流数据的流 API 端点 URL。

默认端点配置可以在 StackStorm CLI 和 Python 客户端中显式指定。对于 StackStorm CLI,端点通过可选参数提供(例如,--url 用于基本 URL,--auth-url--api-url--stream-url)。

对于 Python 客户端,端点通过 Client init 作为 kwargs 提供(例如,base_urlauth_urlapi_urlstream_url)。

CLI

CLI 使用标准的 python argparse 开发,并使用命令和子命令的已知模式。一般来说,触发器、规则、操作和键是命令,而列表、获取、创建、更新和删除是子命令。运行和执行是特殊案例,不具有相同的子命令集。请使用 CLI 帮助选项获取更详细的描述。

-h 或 –help 选项用于显示使用信息。

st2 -h
st2 action -h
st2 action create -h
st2 run -h
st2 run <action-ref> -h

-j--json 选项将输出格式化为 JSON。

st2 rule get <rule-name> -j

-y--yaml 选项将输出格式化为 YAML。

st2 rule get <rule-name> -j

-a--attr 选项允许用户指定要显示的属性及其顺序。

st2 rule get <rule-name> -a name description
st2 execution list --attr id action.ref status start_timestamp

-w--width 选项允许用户指定表格列的宽度。如果只提供一个值,所有表格列将具有相同的宽度。默认宽度为 28。

st2 rule list -a name description -w 50
st2 rule list -a name description -w 25 50

Python 客户端

>>> from st2client.client import Client
>>> from st2client import models
>>> client = Client(base_url='http://127.0.0.1')
>>> rules = client.rules.get_all()
>>> executions = client.executions.get_all()
>>> key_value_pair = client.keys.update(models.KeyValuePair(name='k1', value='v1'))

Trigger、Rule、Action、Execution 和 KeyValuePair 模型在 st2client.models 下定义。请参阅这些模型的相应 README 部分以获取其架构。

模型的资源管理器作为客户端中的 triggersrulesactionsexecutionskeys 实例化。通常为这些资源管理器实现了 get_all、get_by_name、get_by_id、create、update 和 delete 操作。

  • get_all 返回资源实例的列表。

  • get_by_nameget_by_id 分别接受名称和 ID,并返回匹配的资源实例。

  • create 接受资源实例作为输入并创建实例,如果名称已存在,将抛出唯一约束错误。

  • update 接受资源实例作为输入并更新通过名称匹配的实例。

  • delete 接受资源实例作为输入并删除通过名称匹配的实例。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

st2client-3.8.1.tar.gz (117.6 kB 查看哈希值)

上传时间

构建分发

st2client-3.8.1-py3-none-any.whl (185.3 kB 查看哈希值)

上传时间 Python 3

支持者