本文為您介紹常用的算法SDK和使用示例。
file_util
upload_file
接口描述:上傳文件。
入參說明:
參數名稱
參數說明
參數類型
是否必填
file_path
文件地址
String
是
is_delete_file
上傳完成后是否刪除文件
Boolean
否
使用示例:
# import start from algo_sdk import file_util ### customer code start def main(input_data, context): # 服務器上全路徑 file_path = "/home/admin/et-industry-algorithm-engine/algo_framework/logs/app/package-lock.json" result = file_util.upload_file(file_path) OUT1 = { "dataKey": { "value": result, "keyName": "keyName", "quality": 192 } } return OUT1 ### customer code end
返回結果:
{ "dataKey": { "keyName": "keyName", "value": "/algofile/1988/2020/10/19/19/20/00/uuid/model.pkl", "quality": 192 }, "nodeInstanceId": "100551" }
download
接口描述:下載文件。
入參說明:
參數名稱
參數說明
參數類型
是否必填
URL
文件相對地址
String
是
file_local_path
文件本地存儲地址
String
否(如果不傳文件本地地址,則返回文件流)
使用示例:
#import start from algo_sdk import file_util ### customer code start def main(input_data, context): #minio上傳路徑 url= "aics/newPythonCode/20201208/20/21/50/100549/package-lock.json" #服務器存儲路徑 file_local_path = "/home/admin/package-lock.json" file_util.download(url, file_local_path) OUT1 = { "dataKey":{ "value": result, "keyName":"keyName", "quality":192 } } return OUT1 ### customer code end
返回結果:無
read_csv_data
接口描述:讀取csv文件
入參說明:
參數名稱
參數說明
參數類型
是否必填
file_key
文件key
String
是
file_columns
需要查詢的字段
List
是
read_limit
查詢條數,為空就查詢所有
Int
否
使用示例:
# import start from algo_sdk import file_util ### customer code start def main(input_data, context): # 服務器上全路徑 key = "/model/2020/10/19/19/20/00/uuid/test.csv" columns = ['a', 'b', 'c'] limit = 1000 result = file_util.read_csv_data(key, columns, limit) OUT1 = { "dataKey": { "value": result, "keyName": "keyName", "quality": 192 } } return OUT1 ### customer code end
返回結果:
{ "a":[1,2,3], "b":[2,3,4], "c":[2,3,4] }
logger_util
get_logger
接口描述:獲取日志。
入參說明:
參數名稱 | 參數說明 | 參數類型 | 是否必填 |
logger_path | 日志路徑 | String | 是 |
name | 名稱 | String | 是 |
使用示例:
#import start
from algo_sdk import logger_util,env_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("開始導入配置文件{}".format('/somePath/config.propertie'))
#打印warning日志
logger.warning("開始從配置文件{}中讀取配置項{}的值".format('/somePath/config.propertie','maxSize'))
#打印debug日志
OUT1 = {
"dataKey":{
"value": 0,
"keyName":"keyName",
"quality":192
}
}
return OUT1
### customer code end
security.util
encrypt
接口描述:加密文本。
入參說明:
參數名稱
參數說明
參數類型
是否必填
value
待加密的文本
String
是
使用范例:
# import start from algo_sdk import security_util ### customer code start def main(input_data, context): # 待加密文本 value = '46EBA22EF5204DD5B110A1F730513965' result = security_util.encrypt(value) OUT1 = { "dataKey": { "value": result, "keyName": "keyName", "quality": 192 } } return OUT1 ### customer code end
返回結果:
"ODlDMjQyODY1NTUwMDIyMkZFREE3MDY0QjRBNEEzMEFFRTY5NjYyNjNFNzM2MjU2MkQ5REEyQkEwRjY5QTY1QzZGNjQ3NzZBRTc4ODUyMUE2OTQyNEFDNTQyMjc1MjIy"
decrypt
接口描述:解密文本。
入參說明:
參數名稱
參數說明
參數類型
是否必填
value
待解密文本
String
是
使用示例:
# import start from algo_sdk import security_util ### customer code start def main(input_data, context): # 待解密文本 value = "ODlDMjQyODY1NTUwMDIyMkZFREE3MDY0QjRBNEEzMEFFRTY5NjYyNjNFNzM2MjU2MkQ5REEyQkEwRjY5QTY1QzZGNjQ3NzZBRTc4ODUyMUE2OTQyNEFDNTQyMjc1MjIy" result = security_util.decrypt(value) OUT1 = { "dataKey": { "value": result, "keyName": "keyName", "quality": 192 } } return OUT1 ### customer code end
返回結果:
"46EBA22EF5204DD5B110A1F730513965"