全部产品

Python脚本

更新时间:2020-12-29 18:58

本文为您介绍自定义的Python脚本算法组件。

Python脚本组件,支持直接在画布上随拖随写代码、定义输入输出字段,形成一个代码黑盒子。

计算逻辑原理

以编写的代码逻辑为准。

使用流程说明

  1. 将组件拖入画布后,将其输入输出端口与其他组件连线。

  2. 在IN1~IN4四个配置项设置每个端口的参数。

  3. 动态输出配置设置输出端口的参数。

  4. Python代码编辑器编写代码。

参数说明

IN1/IN2/IN3/IN4端口-输入参数

参数名

描述

默认值

范围

输入参数

自定义端口的参数字段

中文描述

自定义端口的参数字段名称

参数值

自定义端口的参数字段默认值

参数映射

可选择上级组件输出字段值赋值于该字段

Python脚本开发示例

Python脚本入参

{
    "SYSTEM_CONFIG": {
        "runCycle": 5,
        "experimentId": 94,
        "projectId": 94
    },
    "IN1": {
        "mv1": {
            "keyName": "test_data7_MV1",
            "time": 1599563012000,
            "value": 10.502567290701,
            "quality": 192
        }
    },
    "UPLOAD": {
        "default": {
            "keyName": "上传文件的中文描述",
            "value": "/dsads/dasdsa/aaa.txt",
            "quality": -1
        }
    }
}

代码示例

#import start
from algo_sdk import file_util as sdk

### customer code start
def main(input_data, context):
    
    # 上游输出获取
    IN1 = input_data["IN1"] or None
    mv1Value = IN1["mv1"]["value"]
    
    # 文件下载
    UPLOAD = input_data["UPLOAD"] or None
    httpResponse = sdk.download(UPLOAD["default"]["value"])
    downloadValue = httpResponse.read().decode('utf8')
    
    # 本节点输出
    OUT1 = {
        "dataKey1":{
            "value": mv1Value,
            "keyName":"keyName",
            "quality":192
        },
        "dataKey2":{
            "value": downloadValue,
            "keyName":"keyName",
            "quality":192
        }
    }
    return OUT1
### customer code end