modelbox.DataContext

每一个功能单元当中存放数据上下文的所有接口

函数 作用
input 获取功能单元输入端口的数据
output 获取功能单元输出端口的数据
has_error datacontext当中是否存在error
get_error 从datacontext中获取error
set_private 设置datacontext中的私有值,值可以是Python任意对象
get_private 获取datacontext中的私有值,值可以是Python任意对象
set_private_string 设置datacontext中的私有字符串值
get_private_string 获取datacontext中的私有字符串值
set_private_int 设置datacontext中的私有整型值
get_private_int 获取datacontext中的私有整型值
get_input_meta 获取datacontext当中绑定在input端口的值
set_output_meta 设置datacontext当中绑定在output端口的值
get_session_config 获取datacontext当中的session config
get_session_context 获取datacontext当中的session_context
send_event 发送event

modelbox.DataContext.input

根据端口名称获取功能单元输入端口的数据。

args:

  • key (str) —— input端口的名称

return:

modelbox.BufferList 名称为key的input端口的数据的BufferList

modelbox.DataContext.output

根据端口名称获取功能单元输出端口的数据。

args:

  • key (str) —— output端口的名称

return:

modelbox.BufferList 名称为key的output端口的数据的BufferList

example:

    ...
    def process(self, data_ctx):
        input_buf_list = data_ctx.input("input")
        output_buf_list = data_ctx.output("output")
        ...

        return modelbox.Status()

modelbox.DataContext.has_error

当前数据上下文中是否存在Buffer处理异常。

args:

return:

bool 是否存在error

modelbox.DataContext.get_error

获取当前数据上下文中存在Buffer处理异常对象。

args:

return:

modelbox.FlowUnitError

example:

    ...
    def process(self, data_ctx):
        if data_ctx.has_error():
           error = data_ctx.get_error()
           print(error.get_description(), type(error))
        ...

        return modelbox.Status()

result:

"error message"
modelbox.FlowUnitError

modelbox.DataContext.send_event

从当前数据上下文发送事件给Modelbox调框架,可以再次触发调度该功能单元。

args:

modelbox.FlowUnitEvent对象

return:

example:

    ...
    def process(self, data_ctx):
        event = modelbox.FlowUnitEvent()
        data_ctx.send_event(event)
        ...

        return modelbox.Status()

modelbox.DataContext.set_private

设置当前数据上下文任意对象。

args:

  • key (str) —— 设置字符串型值的key

  • value (str) —— 设置任意Python对象

return:

modelbox.DataContext.get_private

获取当前数据上下文私有对象。

args:

  • key (str) —— 需要获取的字符串型的key

return:

py::object 获取当前key值的Python对象

modelbox.DataContext.set_private_string

设置当前数据上下文私有字符串值。

args:

  • key (str) —— 设置字符串型值的key

  • value (str) —— 设置字符串型值的value

return:

modelbox.DataContext.get_private_string

获取当前数据上下文私有字符串值。

args:

  • key (str) —— 需要获取的字符串型的key

return:

str 获取当前key值的字符串型value值

modelbox.DataContext.set_private_int

设置当前数据上下文私有整型值。

args:

  • key (str) —— 设置整型值得key

  • value (int) —— 设置整型值的value

return:

modelbox.DataContext.get_private_int

获取当前数据上下文私有整型值

args:

  • key (str) —— 需要获取的整型的key

return:

int 获取当前key值的整型value值

example:

    ...
    def process(self, data_ctx):
        data_ctx.set_private_string("test", "test")
        print(data_ctx.get_private_string("test"))
        data_ctx.set_private_int("int", 33)
        print(data_ctx.get_private_int("int"))
        ...

        return modelbox.Status()

result:

"test"
33

modelbox.DataContext.get_input_meta

获取当前数据上下文的input端口上面的Meta值。

args:

  • key (str) —— input端口名

return:

modelbox.DataMeta 保存meta值得modelbox数据结构

modelbox.DataContext.set_output_meta

设置当前数据上下文的output端口上面的Meta值

args:

  • key (str) —— output端口名

  • meta (modelbox.DataMeta) —— 绑定在当前端口的DataMeta数据结构

return:

modelbox.Status

example:

    ...
    def process(self, data_ctx):
        input_meta = data_ctx.get_input_meta("input")
        res = data_ctx.set_output_meta("output", input_meta)
        ...

        return modelbox.Status()

获取input端口的meta和直接将该meta设置给output, modelbox.DataMeta参照data meta的接口。

modelbox.DataContext.get_session_config

获取当前数据上下文的Session级别配置对象。

args:

return:

modelbox.Configuration

modelbox.DataContext.get_session_context

获取当前数据上下文的SessionContext对象。

args:

return:

modelbox.SessionContext

example:

    ...
    def process(self, data_ctx):
        session_config = data_ctx.get_session_config()
        session_context = data_ctx.get_session_context()
        ...

        return modelbox.Status()
©2022 ModelBox Team all right reserved,powered by Gitbook文件修订时间: 2022-11-18 01:21:29

results matching ""

    No results matching ""