提交任务时,您可以在请求中包含内联数据或引用您的数据。 然后,这些数据会被映射到一个以数据标识符命名的文件中,供模型使用。 数据标识符扩展名定义了所用文件的格式。 您可以定义要使用的输入数据以及收集数据的方式(内联数据或引用数据)。
内联数据
您可以在请求中嵌入内联数据。
- 表格内嵌数据
- 此示例将生成相应的
diet_food.csv
文件,并将其用作模型输入文件。 仅支持csv
文件。"input_data": [{ "id":"diet_food.csv", "fields" : ["name","unit_cost","qmin","qmax"], "values" : [ ["Roasted Chicken", 0.84, 0, 10] ] }]
- 原始内联数据
- 这种类型的内联数据对 OPL
.dat
文件或.lp
文件非常有用。"input_data": [{ "id":"model.lp", "content":"<model encoded as base64 string>" }]
引用的数据
When using data or connection assets for tabular data, use .csv
as the data-identifier extension in the id
field, regardless of the asset type. 数据连接器会进行必要的转换,因此无需更改数据格式即可加载数据。 因此,通过使用数据连接器引用数据,您可以将同一个Decision Optimization模型用于多种不同的数据源类型和格式。 如果您使用其他数据标识符扩展名,数据将作为原始数据二进制文件加载,而不会进行任何转换。
- 数据资产
- 您可以使用数据资产引用来定位空间中的任何数据资产,并从数据连接器集成功能中获益。 要使用项目中的数据资产,必须先将其推广到自己的空间。
本例定义了空间中数据资产的输入数据引用。
"input_data_references": [{ "type": "data_asset", "id": "diet_food.csv", "connection": {}, "location": { "href": "/v2/assets/<ASSET_ID>?space_id=<SPACE_ID>" } }]
本例向您演示如何从空间 <SPACE_ID> 加载 Microsoft Excel 文件资产 <ASSET_ID>。
"input_data_references": [{ "type": "data_asset", "id": "kpis.csv", "connection": {}, "location": { "href": "/v2/assets/<ASSET_ID>?space_id=<SPACE_ID>" } }]
- 连接资产
- 您可以使用连接资产来引用任何数据,然后无需每次都指定凭证即可引用连接。 引用安全连接而不必在有效内容中使用内联凭证,这也可以提供更优秀的安全性。 您可以使用
id
来标识连接。 例如"input_data_references": [{ "type": "connection_asset", "id": "diet_food.csv", "connection": { "id" : "<CONNECTION_ID>", } "location": { <Data-connector interaction properties depending on connection type> } }]
<CONNECTION_ID>
是连接的全局唯一标识符。 创建连接后,在项目中编辑该连接时,可以找到该标识符。 标识符在 Edit connection 窗口的 URL 中可见。有关作业定义的信息,请参阅部署作业定义。
您可以在 "
location
字段中指定连接所需的交互属性。本例连接到COS/S3邮筒。 交互属性在 "location
字段中提供。"location": { "file_name" : "<FILENAME>", "bucket" : "<BUCKET_NAME>" }
此示例连接到 Db2 资产。 交互属性在 "location
字段中提供。"location" : { "table_name" : "<TABLE_NAME>", "schema_name" : "<SCHEMA_NAME>" }
本例连接到COS/S3邮筒。 连接编号在 "
id
字段中提供。"input_data_references": [{ "type": "connection_asset", "id": "diet_food.csv", "connection": { "id" : "<CONNECTION_ID>" }, "location": { "file_name" : "<FILENAME>", "bucket" : "<BUCKET_NAME>" } }]
本例向您演示如何从COS/S3文件桶加载 Microsoft Excel 文件。"input_data_references": [{ "type": "kpis.csv", "id": "diet_food.csv", "connection": { "id" : "<CONNECTION_ID>" }, "location": { "file_name" : "<kpis.xlsx>", "bucket" : "<BUCKET_NAME>" } }]
本例向您演示如何连接到 Db2 资产。 连接编号在 "id
字段中提供。"input_data_references": [{ "type" : "connection_asset", "id" : "diet_food.csv", "connection" : { "id" : "<CONNECTION_ID>" }, "location" : { "table_name" : "<TABLE_NAME>", "schema_name" : "<SCHEMA_NAME>" } }]
有关可在
location
字段中使用的交互属性的更多信息,请参阅主菜单中的 平台连接。 在 连接页面上,选择 连接资源 > 连接属性。 然后为相关连接器选择 Interaction properties > As a source 选项卡。 您可能需要创建 Platform assets catalog。有关 Decision Optimization可用的不同连接的更多信息,请参阅 Decision Optimization中支持的数据源。
- URL 引用数据
- 您可以使用 URL 引用数据从特定 URL 加载数据。此示例使用
GET
命令从 URL 检索diet_food.csv
文件,作为 Decision Optimization 部署任务的输入数据。"input_data_references": { "type": "url", "id": "diet_food.csv", "connection": { "verb": "GET", "url": "https://myserver.com/diet_food.csv", "headers": { "Content-Type": "application/x-www-form-urlencoded" } }, "location": {} }
您可以在同一个请求中组合不同类型的数据。 有关数据定义的更多信息,请参阅 向分析项目添加数据。