ジョブを投入する際、使用する出力データとその収集方法(インラインデータまたは参照データ)を定義することができます。
インライン・データ
出力データをインラインデータとして収集する方法を定義できます。
"output_data": [{
"id":"solution.csv"
}]
参照されているデータ
表形式データのデータまたは接続アセットを使用する場合は、アセットタイプに関係なく、'id
フィールドのデータ識別子の拡張子として'.csv
使用する。 データ・コネクタは必要な変換を行うので、データのフォーマットを変更することなく、ターゲット・フォーマットでデータを保存することができる。 そのため、データ・コネクタを使用してデータを参照することで、さまざまなデータ・ソース・タイプやフォーマットで同じ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" } }]
識別子として正規表現を使うこともできる。 詳しくは正規表現を参照。
- 接続資産
- 接続アセットを使用して任意のデータを参照し、その都度認証情報を指定することなく接続を参照することができます。 セキュア接続を参照すると、ペイロードでインライン資格情報を使用する必要がなくなり、セキュリティーの向上にもつながります。
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>
は、接続のグローバル一意識別子です。 この識別子は、接続を作成し、プロジェクトで接続を編集するときに見つけることができます。 この識別子は、接続の編集ウィンドウの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>" } }]
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
を識別子として使用し、'${oaas_job_id}
と'${oaas_attachment_name}
'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}"
}
}]
同じリクエストで異なるタイプのデータを組み合わせることができます。 データ定義の詳細については、分析プロジェクトにデータを追加するを参照してください。