Quando si invia un lavoro, è possibile definire quali dati di output si desidera utilizzare e come raccoglierli (come dati in linea o di riferimento).
Dati inline
È possibile definire come raccogliere i dati di output come dati in linea.
"output_data": [{
"id":"solution.csv"
}]
Dati di riferimento
quando si utilizzano asset di dati o connessioni per dati tabellari, utilizzare .csv
come estensione dell'identificatore di dati nel campo " id
, indipendentemente dal tipo di asset. Il connettore dati esegue le trasformazioni necessarie, in modo da poter salvare i dati nel formato di destinazione senza dover modificare il formato dei dati. È quindi possibile utilizzare lo stesso modello di Decision Optimization con molti tipi e formati di fonti di dati diversi, utilizzando un connettore di dati per fare riferimento ai dati. Se si utilizzano altre estensioni di identificatori di dati, i dati vengono salvati come file binari di dati grezzi senza alcuna trasformazione.
- Asset di dati
- È possibile utilizzare i riferimenti agli asset di dati per individuare qualsiasi asset di dati presente nello spazio e beneficiare delle funzionalità di integrazione dei connettori di dati.È possibile specificare la posizione dell'output utilizzando un '
href
, se la risorsa esiste già nello spazio e la risorsa viene aggiornata. Ad esempio:
È anche possibile creare una risorsa specificando il nome della risorsa e una descrizione. Questo esempio crea la risorsa '"location": { "href": "/v2/assets/<ASSET_ID>?space_id=<SPACE_ID>" }
solution.csv
."location": { "name": "solution.csv", "description": "solution description" }
Questo esempio definisce i riferimenti ai dati in uscita per aggiornare una risorsa di dati in uno spazio.
output_data_references": [{ "type": "data_asset", "id" : "solution.csv", "connection": {}, "location": { "href": "/v2/assets/<ASSET_ID>?space_id=<SPACE_ID>" } }]
È inoltre possibile salvare i dati di output come risorsa con un nome diverso utilizzando il campo 'name
. Questo esempio crea una risorsa di output denominata 'my_solution.csv
nello spazio corrente."output_data_references": [{ "type" : "data_asset", "id" : "solution.csv", "connection": {}, "location": { "name": "my_solution.csv" } }]
Questo esempio mostra come salvare una risorsa di un file Microsoft Excel in uno spazio.
"output_data_references": [{ "type": "data_asset", "id": "kpis.csv", "connection": {}, "location": { "id": "<SPACE_ID>" "name": "kpis.xlsx" } }]
Si può anche usare un'espressione regolare come identificatore. Per ulteriori informazioni, vedere Regexp.
- Attività di connessione
- È possibile utilizzare le risorse di connessione per fare riferimento a qualsiasi dato e poi fare riferimento alla connessione senza dover specificare ogni volta le credenziali. Anche il riferimento a una connessione sicura, senza dover utilizzare le credenziali inline nel payload, offre una maggiore sicurezza. Per identificare le connessioni, si può usare l'opzione
id
. Ad esempio:"output_data_references": [{ "type": "connection_asset", "id": "solution.csv", "connection": { "id" : "<CONNECTION_ID>", } "location": { <data-connector interaction properties depending on connection type> } }]
Il
<CONNECTION_ID>
è l'identificatore univoco globale di una connessione. Questo identificatore si trova quando si crea una connessione e poi si modifica la connessione nel progetto. L'identificatore è visibile nell'URL della finestra Modifica connessione.Per informazioni sulle definizioni dei lavori, vedere Definizioni dei lavori di distribuzione.
Nel campo "
location
" è possibile specificare le proprietà di interazione necessarie per la connessione.Questo esempio si collega a un bucket COS/S3. Le proprietà dell'interazione sono fornite nel campo "location
."location": { "file_name" : "<FILENAME>", "bucket" : "<BUCKET_NAME>" }
Questo esempio si collega a una risorsa Db2. Le proprietà dell'interazione sono fornite nel campo "Questo esempio si collega a un bucket COS/S3. Il riferimento alla connessione viene fornito nel campo "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>" } }]
Questo esempio mostra come salvare un file Microsoft Excel in un bucket COS/S3."output_data_references": [{ "type": "kpis.csv", "id": "kpis.csv", "connection": { "id" : "<CONNECTION_ID>" }, "location": { "file_name" : "<kpis.xlsx>", "bucket" : "<BUCKET_NAME>" } }]
Questo esempio mostra come connettersi a una risorsa Db2. Il riferimento alla connessione viene fornito nel campo "id
."output_data_references": [{ "type" : "connection_asset", "id" : "solution.csv", "connection" : { "id" : "<CONNECTION_ID>" }, "location" : { "table_name" : "<TABLE_NAME>", "schema_name" : "<SCHEMA_NAME>" } }]
Per ulteriori informazioni sulle diverse connessioni disponibili per Decision Optimization, consultare la sezione Origini dati supportate in Decision Optimization.
- Dati con riferimento all'URL
- È possibile utilizzare i dati con riferimento all'URL per memorizzare i dati in un determinato URL.Questo esempio utilizza il comando
PUT
per posizionare il file di outputsolution.csv
sul server."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
Regexp
come identificatore per tutti i tipi di output. Ad esempio, per raccogliere tutti i file di output .csv
:"id":".*\\.csv"
"id":".*"
È possibile utilizzare un 'Regexp
come identificatore e combinarlo con i segnaposto '${oaas_job_id}
e '${oaas_attachment_name}
nel 'name
, per creare un asset di output ogni volta che viene eseguito il lavoro."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
come output, questo file viene salvato in una cartella che ha lo stesso nome del numero di lavoro."output_data_references": [{
"type" : "connection_asset",
"id" : ".*",
"connection": {
"id" : "<CONNECTION_ID>"
},
"location": {
"bucket" : "<BUCKET_NAME>",
"file_name": "${oaas_job_id}/${oaas_attachment_name}"
}
}]
È possibile combinare diversi tipi di dati nella stessa richiesta. Per ulteriori informazioni sulle definizioni dei dati, vedere Aggiungi dati a un progetto di analisi.