提交作业时,您可以定义要使用的输出数据以及收集数据的方式(作为内联数据或引用数据)。
内联数据
您可以定义如何将输出数据收集为内联数据。
"output_data": [{
"id":"solution.csv"
}]
引用的数据
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模型用于多种不同的数据源类型和格式。 如果使用其他数据标识符扩展名,数据将不经任何转换保存为原始数据二进制文件。
- 数据资产
- 您可以使用数据资产引用来定位空间中的任何数据资产,并从数据连接器集成功能中获益。如果资产已存在于空间中,您可以使用 "
href
指定输出的位置,并更新资产。 例如
您也可以通过指定资产名称和描述来创建资产。 此示例创建了资产 ""location": { "href": "/v2/assets/<ASSET_ID>?space_id=<SPACE_ID>" }
solution.csv
。"location": { "name": "solution.csv", "description": "solution description" }
本例定义了输出数据引用,用于更新空间中的数据资产。
output_data_references": [{ "type": "data_asset", "id" : "solution.csv", "connection": {}, "location": { "href": "/v2/assets/<ASSET_ID>?space_id=<SPACE_ID>" } }]
您还可以使用 "name
字段将输出数据保存为不同名称的资产。 此示例在当前空间创建名为 "my_solution.csv
的输出资产。"output_data_references": [{ "type" : "data_asset", "id" : "solution.csv", "connection": {}, "location": { "name": "my_solution.csv" } }]
本例向您演示如何将 Microsoft Excel 文件资产保存到空间。
"output_data_references": [{ "type": "data_asset", "id": "kpis.csv", "connection": {}, "location": { "id": "<SPACE_ID>" "name": "kpis.xlsx" } }]
您也可以使用正则表达式作为标识符。 有关更多信息,请参阅 Regexp 。
- 连接资产
- 您可以使用连接资产来引用任何数据,然后无需每次都指定凭证即可引用连接。 引用安全连接而不必在有效内容中使用内联凭证,这也可以提供更优秀的安全性。 您可以使用
id
来标识连接。 例如"output_data_references": [{ "type": "connection_asset", "id": "solution.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 资产。 交互属性在 "本例连接到COS/S3邮筒。 连接编号在 "location
字段中提供。"location": { "table_name" : "<TABLE_NAME>", "schema_name" : "<SCHEMA_NAME>" }
id
字段中提供。"output_data_references": [{ "type": "connection_asset", "id": "diet_food.csv", "connection": { "id" : "<CONNECTION_ID>" }, "location": { "file_name" : "<FILENAME>", "bucket" : "<BUCKET_NAME>" } }]
本例向您演示如何将 Microsoft Excel 文件保存到COS/S3文件桶。"output_data_references": [{ "type": "kpis.csv", "id": "kpis.csv", "connection": { "id" : "<CONNECTION_ID>" }, "location": { "file_name" : "<kpis.xlsx>", "bucket" : "<BUCKET_NAME>" } }]
本例向您展示如何连接到 Db2 资产。 连接参考信息在 "id
字段中提供。"output_data_references": [{ "type" : "connection_asset", "id" : "solution.csv", "connection" : { "id" : "<CONNECTION_ID>" }, "location" : { "table_name" : "<TABLE_NAME>", "schema_name" : "<SCHEMA_NAME>" } }]
有关可在
location
字段中使用的交互属性的更多信息,请参阅主菜单中的 平台连接。 在 连接页面上,选择 连接资源 > 连接属性。 然后为相关连接器选择 Interaction properties > As a target 选项卡。 您可能需要创建 Platform assets catalog。有关 Decision Optimization可用的不同连接的更多信息,请参阅 Decision Optimization中支持的数据源。
- URL 引用数据
- 您可以使用 URL 引用数据在特定 URL 上存储数据。此示例使用
PUT
命令将solution.csv
输出文件放到服务器上。"output_data_references": { "type": "url", "id": "solution.csv", "connection": { "verb": "PUT", "url": "https://myserver.com/diet_food.csv", "headers": { "Content-Type": "application/x-www-form-urlencoded" } }, "location": {} }
正则表达式
Regexp
作为所有类型输出的标识符。 例如,收集所有 .csv
输出文件:"id":".*\\.csv"
"id":".*"
您可以使用 "Regexp
作为标识符,并将其与 "name
中的 "${oaas_job_id}
和 "${oaas_attachment_name}
占位符结合起来,在每次运行任务时创建一个输出资产。"output_data_references": [{
"type" : "data_asset",
"id" : ".*",
"connection": {
"href" : "/v2/connections/<CONNECTION_ID>?space_id=><SPACE_ID>"
},
"location": {
"name" : "${oaas_job_id}_${oaas_attachment_name}"
}
}]
solution.csv
文件作为输出,该文件将保存在与作业编号同名的文件夹中。"output_data_references": [{
"type" : "connection_asset",
"id" : ".*",
"connection": {
"id" : "<CONNECTION_ID>"
},
"location": {
"bucket" : "<BUCKET_NAME>",
"file_name": "${oaas_job_id}/${oaas_attachment_name}"
}
}]
您可以在同一个请求中组合不同类型的数据。 有关数据定义的更多信息,请参阅 向分析项目添加数据。