本文为您介绍如何通过SDK调用如下算法API:CreateEssOptJob- 创建储能优化任务。
前提条件
已安装SDK,并已获取云账号AK信息。
接口参数
请求参数
字段名称 | 字段详情 |
Freq string | 默认 15min;需要与 historyData 的数据频率一致;枚举值:
示例值:FIFTEEN_MIN枚举值:FIFTEEN_MINFIVE_MINONE_HOURONE_DAY |
Duration integer<int32> | 从运行日(含)开始, 预测时长(单位:天) 非必填,默认 1 天 示例值:1 |
RunDate string | 运行日,精确到天,“yyyy-MM-dd”格式 示例值:2025-02-12 |
TimeZone string | 时区,默认上海时区:Asia/Shanghai 示例值:Asia/Shanghai |
ModelVersion string | 模型对应的版本号,默认为 latest 示例值:latest |
TopoType string | 场站内资源拓扑类型:
示例值:LOAD_ESS_SOLAR枚举值:LOAD_ESSLOAD_ESS_SOLAR |
- SystemData array<object> | 系统数据,包含场站内各个系统的参数和历史数据 |
--- object | |
----SystemType string | 系统类型,SystemType 的取值可以是:
示例值:ess |
----SystemId string | 系统 ID 示例值:1 |
----SystemParams object | 系统参数,各个类型的系统的参数值 示例值:如光伏系统参数:
|
-----HistoryData array<object> | 各系统的历史运行数据 |
------- object | 历史时段的运行数据 示例值:如市电的历史数据:
|
- ElecPrice array<object> | 目标日期该天的市电分时价格变化,时间粒度与 freq 一致 |
--- object | 目标日期该天某时刻的市电价格 |
----DataTime string | 一天内的时刻 示例值:00:00:15 |
----Price string | 市电价格 示例值:0.5 |
- GenPrice array<object> | 目标日期该天的售电上网价格的分时变化,时间粒度与 freq 一致 |
--- object | 目标日期该天某时刻的售电价格 |
----DataTime string | 一天内的时刻 示例值:00:00:15 |
----Price string | 售电价格 示例值:0.3 |
- Location object | 地址位置信息,经纬度 |
--Altitude number<double> | 海拔高度,精度到小数点后 3 位,默认值为 10 示例值:10.123 |
--Latitude number<double> | 纬度,精度到小数点后 3 位 示例值:40.027 |
--Longitude number<double> | 经度,精度到小数点后 3 位 示例值:120.042 |
BusinessKey string | 业务键,如场站名称编号。 示例值:stationA |
每一种SystemType对应的系统参数分别有不同,并且需要与TopoType含义保持一致;其中:
一定要包含市电系统和储能系统
每种类型的系统最多只有一个,如市电系统、储能系统、光伏系统、空调系统(所有空调设备归属到这一个空调系统内)、照明系统(所有照明设备归属到一个照明系统)、充电桩系统;
除市电、储能外,光伏系统和其他用电系统是可选项,根据实际情况在入参中给出数据。
空调系统、照明系统、充电桩系统,都是属于用电系统,且不可调
对于每个系统需要指定一个唯一的sysmtemId, 将在算法结果中按此systemId和systemType对应的给出调节策略结果。
请求示例
systemData的样例和格式如下:
[
{
"SystemType":"load",
"SystemId": 1,
"SystemParams":{
"sfktj": 0, //是否可调
"state": 1, //运行状态:0-停止 1-运行
"cfdfs": 0, //充放电方式:0-正放电负充电 1-负放电正充电
//边界属性
"byqyxsx": "1200", //变压器运行上限
"byqyxxx": "-1200", //变压器运行下限
"bwdydj": "90", //电压等级
},
"HistoryData":[
{
"runTime": "2023-05-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
},
...
{
"runTime": "2023-08-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
}
]
},
{
"systemType":"ess",
"systemId": 2,
"systemParams":{
"sfktj": 1, //是否可调
"cfdfs": 0, //充放电方式:0-正放电负充电 1-负放电正充电
// 边界属性
"zxfdgl": "0", //最小放电功率
"zdfdgl": "100", //最大放电功率
"zxcdgl": "0", //最小充电功率
"zdcdgl": "100", //最大充电功率
"socyxxx": "0.05", //soc运行下限
"socyxsx": "0.98", //soc运行上限
"rcdcssx": "2", //日充放电次数上限
"rcdcsxx": "1", //日充放电次数下限
"edrl": "215", // 额定容量
"edgl": "xxx", //额定功率
},
"historyData":[
{
"runTime": "2023-05-06 20:00:00",
"essRunPwr":0,//储能总有功功率, kW
"essRunQvr":0,//储能总无功功率, Var
"essRunSva":0,//储能总视在功率, VA
"essSOC":0,//储能系统SOC
"essSOH":0,//储能系统SOH
"cos":0,//功率因数
"aggChrgNgy":0,//储能累计充电量,kWh
"aggDischrgNgy":0,//储能累计放电量,kWh
"runState":0,//运行状态, 0-故障 1-运行 2-待机
"controlState":0,//控制状态, 0-本地 1-远端
},
...
{
"runTime": "2023-08-06 20:00:00",
"essRunPwr":0,//储能总有功功率, kW
"essRunQvr":0,//储能总无功功率, Var
"essRunSva":0,//储能总视在功率, VA
"essSOC":0,//储能系统SOC
"essSOH":0,//储能系统SOH
"cos":0,//功率因数
"aggChrgNgy":0,//储能累计充电量,kWh
"aggDischrgNgy":0,//储能累计放电量,kWh
"runState":0,//运行状态, 0-故障 1-运行 2-待机
"controlState":0,//控制状态, 0-本地 1-远端
}
]
},
{
"systemType":"solar",
"systemId": 4,
"systemParams":{
"sfktj": 0, //是否可调节:0-不可调 1-可调,一般光伏为 不可调
"cfdfs": 0, //充放电方式:0-正放电负充电 1-负放电正充电
"zjrl": "xxx", //装机容量
},
"historyData":[
{
"runTime": "2023-05-06 20:00:00",
"alterPwr":0, //交流侧有功功率,kW
"aggGenNgy":0, //累计发电量,kWh
"dayGenNgy":0, //日发电量,kWh
"runState":0, //运行状态, 0-故障 1-运行 2-待机
},
...
{
"runTime": "2023-08-06 20:00:00",
"alterPwr":0, //交流侧有功功率,kW
"aggGenNgy":0, //累计发电量,kWh
"dayGenNgy":0, //日发电量,kWh
"runState":0, //运行状态, 0-故障 1-运行 2-待机
}
]
},
{
"systemType":"hvac",
"systemId": 5,
"systemParams":{
"sfktj": 0, //是否可调节:0-不可调 1-可调
"edgl": "" // 总额定功率,单位kW
},
"historyData":[
{
"runTime": "2023-05-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
},
...
{
"runTime": "2023-08-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
}
]
},
{
"systemType":"flexible",
"systemId": 6,
"systemParams":{
"sfktj": 0, //是否可调节:0-不可调 1-可调,一般照明系统不建议设定为可调
"edgl": "" // 总额定功率,单位kW
},
"historyData":[
{
"runTime": "2023-05-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
},
...
{
"runTime": "2023-08-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
}
]
},
{
"systemType":"charge",
"systemId": 7,
"systemParams":{
"sfktj": 0, //是否可调节:0-不可调 1-可调
"edgl": "" // 总额定功率,单位kW
},
"historyData":[
{
"runTime": "2023-05-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
},
...
{
"runTime": "2023-08-06 20:00:00",
"pwr": 0.0, //总有功功率, 单位kW
"qvr": 0.0, //总无功功率, 单位Var
"sva": 0.0, //总视在功率, 单位VA
"cos": 1, //总功率因数
"fwdActngy": 0.0, //累计正向有功总电量, 单位kWh
"rvsActngy": 0.0, //累计反相有功总电量, 单位kWh
"demandpwr": 0.0 //正向有功总需量, 单位kW
}
]
}
]
elecPrice和genPrice的样例和格式如下:
[
{
"dataTime":"00:00:00",
"price": 0.9
},
{
"dataTime":"00:15:00",
"price": 0.3
},
{
"dataTime":"00:30:00",
"price": 0.34
},
...
{
"dataTime":"23:45:00",
"price": 0.1
}
]
返回参数
字段名称 | 字段详情 |
RequestId string | Id of the request 示例值:68738E75-43C1-5AE5-9F3A-AFEF576D7B5F |
Success string | 是否调用成功。
示例值:True |
Code string | 状态码。 说明 200 表示成功。 示例值:200 |
Message string | 返回信息。 示例值:successful |
- Data object | 返回 JOB 详细信息 |
--Completed boolean | 操作是否完成,取值范围: True:当前 Job 已经执行完成。 False:当前 Job 还在执行中。 示例值:True |
--CreateTime string | 任务创建时间 示例值:2024-12-22 00:00:21 |
--Error string | 当前操作异常或者失败时的错误信息 示例值:"" |
--JobId string | 算法计算任务 ID 示例值:8c0ca18a-246a-4acd-80ca-e16d8ff5ef33 |
--Progress integer<int32> | 进度 示例值:25 |
--- Response object | 计算任务的结果 |
----DebugInfo any | 调试信息 示例值:{} |
----JobType string | 计算任务类型,枚举值:LoadForecast PowerForecast 示例值:LoadForecast |
----Result any | 计算任务的结果 示例值:{} |
--Status string | 任务状态,枚举值: RUNNING, SUCCESS, FAIL 示例值:RUNNING |
计算任务是一个异步任务,最终计算任务的结果,需要使用Jobld通过结果查询结果获得。
返回示例
{
"RequestId": "68738E75-43C1-5AE5-9F3A-AFEF576D7B5F",
"Success": "True",
"Code": "200",
"Message": "successful",
"Data": {
"Completed": true,
"CreateTime": "2024-12-22 00:00:21",
"Error": "\"\"",
"JobId": "8c0ca18a-246a-4acd-80ca-e16d8ff5ef33",
"Progress": 25,
"Response": {
"DebugInfo": "{}",
"JobType": "LoadForecast",
"Result": "{}"
},
"Status": "RUNNING"
}
}
SDK调用示例
Java SDK使用示例
当不需要并发调用时,可以使用Java同步的方式调用SDK;当需要并发调用时,使用Java异步的方式调用SDK。
Java同步(pom.xml):
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>brain_industrial20200920</artifactId>
<version>2.1.0</version>
</dependency>
Java同步(sample.java):
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* <b>description</b> :
* <p>使用凭据初始化账号Client</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.brain_industrial20200920.Client createClient() throws Exception {
// 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378657.html。
com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setCredential(credential);
// Endpoint 请参考 https://api.aliyun.com/product/brain-industrial
config.endpoint = "brain-industrial.cn-hangzhou.aliyuncs.com";
return new com.aliyun.brain_industrial20200920.Client(config);
}
public static void main(String[] args_) throws Exception {
com.aliyun.brain_industrial20200920.Client client = Sample.createClient();
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestLocation location = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestLocation()
.setAltitude(10D)
.setLatitude(23D)
.setLongitude(113.5D);
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestGenPrice genPrice0 = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestGenPrice()
.setDataTime("00:00:00")
.setPrice("0.8");
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestElecPrice elecPrice0 = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestElecPrice()
.setDataTime("00:00:00")
.setPrice("2.1");
java.util.Map<String, Object> systemData0HistoryData0 = TeaConverter.buildMap(
new TeaPair("runTime", "2025-01-01"),
new TeaPair("value", 3)
);
java.util.Map<String, Integer> systemData0SystemParams = TeaConverter.buildMap(
new TeaPair("byqyxsx", 1200),
new TeaPair("byqyxxx", 0),
new TeaPair("bwdydj", 220)
);
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData systemData0 = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData()
.setSystemType("load")
.setSystemId("1")
.setSystemParams(systemData0SystemParams)
.setHistoryData(java.util.Arrays.asList(
systemData0HistoryData0
));
java.util.Map<String, Object> systemData1HistoryData0 = TeaConverter.buildMap(
new TeaPair("runTime", "2025-01-01 00:00:00"),
new TeaPair("value", 100)
);
java.util.Map<String, String> systemData1SystemParams = TeaConverter.buildMap(
new TeaPair("zxfdgl", "0"),
new TeaPair("zdfdgl", "100"),
new TeaPair("zxcdgl", "0"),
new TeaPair("zdcdgl", "100"),
new TeaPair("socyxxx", "0.05"),
new TeaPair("socyxsx", "0.98"),
new TeaPair("rcdcssx", "2"),
new TeaPair("rcdcsxx", "1"),
new TeaPair("edrl", "215"),
new TeaPair("edgl", "100")
);
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData systemData1 = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData()
.setSystemType("ess")
.setSystemId("2")
.setSystemParams(systemData1SystemParams)
.setHistoryData(java.util.Arrays.asList(
systemData1HistoryData0
));
java.util.Map<String, Object> systemData2HistoryData0 = TeaConverter.buildMap(
new TeaPair("runTime", "2025-01-01 00:00:00"),
new TeaPair("value", 0)
);
java.util.Map<String, Integer> systemData2SystemParams = TeaConverter.buildMap(
new TeaPair("zjrl", 800)
);
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData systemData2 = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData()
.setSystemType("solar")
.setSystemId("3")
.setSystemParams(systemData2SystemParams)
.setHistoryData(java.util.Arrays.asList(
systemData2HistoryData0
));
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest createEssOptJobRequest = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest()
.setFreq("FIFTEEN_MIN")
.setDuration(1)
.setRunDate("2025-01-01")
.setTimeZone("Asia/Shanghai")
.setModelVersion("latest")
.setTopoType("LOAD_ESS_SOLAR")
.setSystemData(java.util.Arrays.asList(
systemData0,
systemData1,
systemData2
))
.setElecPrice(java.util.Arrays.asList(
elecPrice0
))
.setGenPrice(java.util.Arrays.asList(
genPrice0
))
.setLocation(location)
.setBusinessKey("stationA");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
try {
// 复制代码运行请自行打印 API 的返回值
client.createEssOptJobWithOptions(createEssOptJobRequest, runtime);
} catch (TeaException error) {
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// 错误 message
System.out.println(error.getMessage());
// 诊断地址
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// 错误 message
System.out.println(error.getMessage());
// 诊断地址
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}
Java异步(pom.xml):
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-brain_industrial20200920</artifactId>
<version>2.0.2</version>
</dependency>
Java异步(sample.java):
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* <b>description</b> :
* <p>使用凭据初始化账号Client</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.brain_industrial20200920.Client createClient() throws Exception {
// 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378657.html。
com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setCredential(credential);
// Endpoint 请参考 https://api.aliyun.com/product/brain-industrial
config.endpoint = "brain-industrial.cn-hangzhou.aliyuncs.com";
return new com.aliyun.brain_industrial20200920.Client(config);
}
public static void main(String[] args_) throws Exception {
com.aliyun.brain_industrial20200920.Client client = Sample.createClient();
java.util.Map<String, Integer> systemData0SystemParams = TeaConverter.buildMap(
new TeaPair("byqyxxx", 0),
new TeaPair("byqyxsx", 1200)
);
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData systemData0 = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest.CreateEssOptJobRequestSystemData()
.setSystemType("load")
.setSystemId("1")
.setSystemParams(systemData0SystemParams);
com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest createEssOptJobRequest = new com.aliyun.brain_industrial20200920.models.CreateEssOptJobRequest()
.setFreq("FIFTEEN_MIN")
.setDuration(1)
.setRunDate("2025-01-01")
.setTopoType("LOAD_ESS")
.setSystemData(java.util.Arrays.asList(
systemData0
));
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
try {
// 复制代码运行请自行打印 API 的返回值
client.createEssOptJobWithOptions(createEssOptJobRequest, runtime);
} catch (TeaException error) {
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// 错误 message
System.out.println(error.getMessage());
// 诊断地址
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// 错误 message
System.out.println(error.getMessage());
// 诊断地址
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}
Python SDK使用示例
Python依赖:
pip install alibabacloud_brain_industrial20200920==2.1.0
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import os
import sys
from typing import List
from alibabacloud_brain_industrial20200920.client import Client as brain_industrial20200920Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_brain_industrial20200920 import models as brain_industrial_20200920_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> brain_industrial20200920Client:
"""
使用凭据初始化账号Client
@return: Client
@throws Exception
"""
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/brain-industrial
config.endpoint = f'brain-industrial.cn-hangzhou.aliyuncs.com'
return brain_industrial20200920Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
client = Sample.create_client()
system_data_0system_params = {
'byqyxxx': 0,
'byqyxsx': 1200
}
system_data_0 = brain_industrial_20200920_models.CreateEssOptJobRequestSystemData(
system_type='load',
system_id='1',
system_params=system_data_0system_params
)
create_ess_opt_job_request = brain_industrial_20200920_models.CreateEssOptJobRequest(
freq='FIFTEEN_MIN',
duration=1,
run_date='2025-01-01',
topo_type='LOAD_ESS',
system_data=[
system_data_0
]
)
runtime = util_models.RuntimeOptions()
try:
# 复制代码运行请自行打印 API 的返回值
client.create_ess_opt_job_with_options(create_ess_opt_job_request, runtime)
except Exception as error:
# 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
# 错误 message
print(error.message)
# 诊断地址
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
system_data_0system_params = {
'byqyxxx': 0,
'byqyxsx': 1200
}
system_data_0 = brain_industrial_20200920_models.CreateEssOptJobRequestSystemData(
system_type='load',
system_id='1',
system_params=system_data_0system_params
)
create_ess_opt_job_request = brain_industrial_20200920_models.CreateEssOptJobRequest(
freq='FIFTEEN_MIN',
duration=1,
run_date='2025-01-01',
topo_type='LOAD_ESS',
system_data=[
system_data_0
]
)
runtime = util_models.RuntimeOptions()
try:
# 复制代码运行请自行打印 API 的返回值
await client.create_ess_opt_job_with_options_async(create_ess_opt_job_request, runtime)
except Exception as error:
# 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
# 错误 message
print(error.message)
# 诊断地址
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
if __name__ == '__main__':
Sample.main(sys.argv[1:])