Python组件常用SDK

本文为您介绍Python脚本组件的常用SDK。

api_util

接口:get_production_line_data

接口描述:获取产线数据。该接口可以获取IGate中各个节点中测点的历史数据。

入参说明:

参数名称

参数说明

参数类型

是否必填

参数范围

points

数据读取测点

List

start_time

数据读取开始时间(毫秒)

Int

正整数

end_time

数据读取结束时间(毫秒)

Int

正整数

date_type

返回结果数据类型,默认为None

String

  • None:返回dict

  • dataFrame:返回DataFrame

sample_period

采样周期(单位:秒),表示返回的DataFrame数据的时间间隔。例如: sample_period="5",表示每隔5s返回一条数据。默认为None。

说明

data_type为None时可以不传当前参数;data_type为dataFrame时,必须传当前参数。

String

正整数

其中测点名称为输入IGate测点中key字段的值。如下:

# key的组成
# tenant_xxxxxx:租户编码
# filter_node:节点编码
# pres_diff_filter:测点编码
{
  "pres_diff_filter": {
    "keyName": "生料磨压差滤波",
    "time": 1617160993670,
    "value": 8.343000411987305,
    "key": "tenant_xxxxxx.filter_node.pres_diff_filter",
    "quality": 192
  }
}

key示例使用示例:

#import start
from algo_sdk import api_util
### customer code start
def main(input_data, context):
    #数据读取测点
    points = ['tenant_industry_brain.AICS.test2', 'tenant_industry_brain.AICS.test', 'tenant_industry_brain.AICS.test1']
    #数据读取开始时间
    start_time = 1606806992000
    #数据读取结束时间
    end_time = 1607152592000
    #None:返回字典,dataFrame:返回DataFrame结构
    #data_type = "dataFrame"
    data_type = None
    #采样周期
    sample_period ="12"
    result = api_util.get_production_line_data(points, start_time, end_time, data_type,
    sample_period)
    OUT1 = {
        "dataKey":{
            "value": result,
            "keyName":"keyName",
            "quality":192
        }
    }
    return OUT1
### customer code end

返回结果:

{
  "dataKey": {
    "keyName": "keyName",
    "value": {
      "tenant_industry_brain.AICS.test2": [
        {
          "value_type": "Double",
          "create_time": "2020-12-02 20:42:50",
          "time": "2020-12-02 20:42:50",
          "value": 5.110000004163236,
          "timestamp": 1606912970450,
          "quality": 192
        }
      ],
      "tenant_industry_brain.AICS.test": [],
      "tenant_industry_brain.AICS.test1": [
        {
          "value_type": "Double",
          "create_time": "2020-12-04 17:58:02",
          "time": "2020-12-04 17:58:02",
          "value": 10.11,
          "timestamp": 1607075882363,
          "quality": 192
        }
      ]
    },
    "quality": 192
  },
  "nodeInstanceId": "100237"
}

file_util

接口:download

接口描述:下载文件。

入参说明:

参数名称

参数说明

参数类型

是否必填

URL

文件相对地址

String

file_local_path

文件本地存储地址

String

否(如果不传文件本地地址,则返回文件流)

使用示例:

#import start
from algo_sdk import file_util
### customer code start
def main(input_data, context):
    # 文件下载 UPLOAD是组件搭建的时候配置的参数标识
  UPLOAD = input_data["UPLOAD"] orNone
  path = UPLOAD["default"]["value"]
  httpResponse = file_util.download(url=path)

logger_util

接口:get_logger

接口描述:获取日志。

入参说明:

参数名称

参数说明

参数类型

是否必填

logger_path

日志路径

String

name

名称

String

使用示例:

说明

代码中所打印的日志信息,可以单击对应组件的查看日志,查看实时和历史日志信息。

#import start
from algo_sdk import logger_util
logger = logger_util.get_logger(env_util.get_app_logs(), 'biz')
### customer code start
def main(input_data, context):
    #打印info日志
    logger.info("开始初始化配置文件")
    #打印error日志
    logger.error("开始导入配置文件[{}]","/somePath/config.properties")
    #打印warning日志
    logger.warning("开始从配置文件[{}]中读取配置项[{}]的值","/somePath/config.properties","maxSize")
    #打印debug日志
    logger.debug("读取配置文件时出现异常", new
    FileNotFoundException("File not exists"))
    OUT1 = {
        "dataKey":{
        "value": result,
        "keyName":"keyName",
        "quality":192
        }
    }
    return OUT1
### customer code end