消息类型
算盘是一个流计算引擎,Python SDK 使用 argument
来将数据在流和 python 类型之间转换。argument
能将流数据类型转换成 python 数据类型,也能自动将 python 数据类型转换成流数据类型。
支持类型
argument
被用于输入桩、输出桩和右面板组件参数的定义。右面板的一个类型唯一对应于一个参数类型。
右面板名称 | SDK 名称 | 说明 |
---|---|---|
字符串 | String | 由数字、字母、下划线组成的一串字符 |
数字 | Int, Float | 整型、浮点型等数字 |
布尔值 | Bool | True 或者 False |
对象 | Json | 符合Json格式的对象 |
表格 | Json | 二维数组,数据的第一行为表头,然后依次为第一行数据、第二行数据,以此类推 |
向量 | Json | 实数一维数组 |
系统事件 | String | 默认接受所有广播信息中的系统事件 |
文件 | File | 任何类型文件,接收后由用户自行解析 |
Npy文件 | Npy | NumPy对象 |
图片 | Image | 图片文件 |
Csv文件 | Csv | Csv文件或DataFrame |
参数项
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
key | string | 必填 | 关键字,作为唯一标识参与参数使用的全过程中 |
alias | string | None | 别名,第二标识(使用语义化),与关键字的作用相同,可冲突(可能被覆盖) |
label | string | None | 标签,第三标识(显示语义化),如果需要前端显示,此字段将作为显示的标签 |
required | bool | False | 必填,如果设置为 True,此参数必须存在,否则将解码失败并报错 |
default | any | None | 默认值,若此参数不存在,将使用默认值置于上下文中 |
choices | list | [] | 选项,如果设置选项值,解码后的数据必须为选项值其一,否则解码失败并报错 |
示例
import suanpan
from suanpan.app.arguments import Int, Float
@app.input(Int(key="inputData1", alias="count"))
@app.output(Float(key="outputData1", alias="sum"))
@app.param(Float(key="param1", alias="ratio"))
def sum(context):
args = context.args
return args.count * count.ratio
import suanpan
from suanpan.app.arguments import Json, Bool
@app.input(Json(key="inputData1", alias="user"))
@app.output(Json(key="outputData1", alias="manager"))
@app.param(Bool(key="param1", alias="check"))
def add_user(context):
args = context.args
if args.check:
args.user['check'] = True
return args.user
!!! warning "注意"
组件参数的 key 必须以 param 开头,python sdk 会忽略不是以 param 开头的参数