<< Fare clic per visualizzazione il sommario >> Percorso: API di piattaforma > JamioPlug > JamioPlug Elastic Storage > ImportFromCsv |
Salva i dati presenti in un file CSV, in un indice del plug Elastic Storage.
Le righe del CSV che non possono essere salvate vengono restituite opzionalmente in un file CSV di scarto.
Le righe del CSV devono essere tutte compatibili con l'intestazione, ovvero devono contenere tutte lo stesso numero di campi.
Metodo
PlugElasticStorage/ImportFromCsv
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
token |
Il token di sessione (per la sessione corrente nel dominio corrente potrebbe essere null o vuoto). |
String |
Y |
configurationReference |
Collegamento alla risorsa di tipo configurazione del Plug Elastic Storage da utilizzare. E' possibile specificare un collegamento con valorizzata solo la proprietà Name pari al Nickname di una configurazione esistente. |
Reference
|
|
inputFile |
Collegamento alla risorsa contenente il file con estensione CSV. Può essere un riferimento ad un Attachment, un FileComponent, un allegato di processo, un Document o un'altra risorsa contenente attachments. Se la risorsa è di tipo Document e contiene più componenti file viene utilizzato: •il componente principale se è di tipo File e contiene un CSV; •in assenza di componente principale, deve esserci un solo componente di tipo File che contiene un CSV. Se la risorsa contiene una lista di attachments, deve esserci un solo file di tipo CSV. Tra i campi del file CSV è possibile specificare un campo identificativo, secondo le logiche qui riportate. Le intestazioni del file CSV non devono contenere il carattere "." (punto). |
Reference |
|
options |
Definisce le opzioni di conversione da applicare ai dati riportati nel file CSV prima del salvataggio nell'indice del plug Elastic Storage. Se per una colonna del CSV non viene specificato il ColumnType tramite CsvToListConversionOptions, qualunque contenuto del campo viene interpretato come una stringa, mentre, se specificato, si possono definire nell'indice del Plug Elastic Storage campi numerici, date, booleani o stringhe. I nomi passati al parametro ColumnHeaders non devono contenere il carattere "." (punto). |
Y |
|
idFields |
Lista dei nomi dei campi del CSV con cui deve essere calcolato l'identificativo del DataSet da creare nell'indice del plug Elastic Storage. Il parametro viene ignorato se tra i campi è presente un campo denominato "_id" o "Id", secondo le logiche qui riportate. I nomi dei campi non devono contenere il carattere "." (punto). |
List of String |
Y |
commonFields |
Dato strutturato che riporta un insieme di campi comuni, il cui valore deve essere riportato nei Dataset dell'indice del Plug Elastic Storage. I campi devono essere di primo livello, non annidati. Se un campo specificato in commonFields non è presente nel file CSV, esso viene aggiunto ai dati che verranno salvati nell'indice del Plug Elastic Storage con il suo valore riportato in tutti i Dataset dell'indice. Se, invece, è presente nel file CSV, i corrispondenti valori contenuti nel file e il formato, eventualmente definito nel ColumnTypes del parametro options, vengono ignorati. Ad esempio, se il campo "Importo" presente nel file CSV è definito come intero tramite ColumnTypes, ma in commonFields è definito come stringa, allora verrà riportato nell'indice come stringa. |
Dataset |
Y |
skipErrors |
Indica se proseguire o meno nel caso di errori di conversione dei dati contenuti nel file CSV o se •uno dei campi indicati in idFields è nullo; •l'identificativo (sia esso il valore del campo _id, il valore del campo Id o quello costruito tramite i campi indicati in idFields) è stringa vuota; •l'identificativo (sia esso il valore del campo _id, il valore del campo Id o quello costruito tramite i campi indicati in idFields) superi la lunghezza massima. Se True, le righe vengono scartate e aggiunte allo ScrapReport del returnValue del metodo con i relativi messaggi d'errore. Se False, il Job viene interrotto. |
Boolean |
Y |
Output |
|||
Name |
Description |
Type |
Optional |
returnValue |
Dato strutturato con i seguenti campi: •TotalItems: numero di righe da convertire; •ProcessedItems: numero di righe convertite correttamente; •ScrappedItems: numero di righe processate con errore o non processate per interruzione del Job; •ScrapReport: file CSV con la stessa struttura del file passato in input, contenente le righe scartate con i rispettivi errori e/o non processate per interruzione del Job; •JobStatus: enumerativo che indica lo stato finale del job (Completed o Canceled). |
Dataset |
|
Commenti
Solo per questo metodo, se nei campi dei dati in input al metodo non è disponibile un campo che si chiama "_id" o "Id" e non è valorizzato il parametro IdFields, il campo identificativo viene generato automaticamente dal plug Elastic Storage.
Lo ScrapReport può essere generato anche se skipErrors è False, ad esempio, se il Dataset estratto dal file CSV contiene due o più righe con lo stesso identificativo (valore del campo denominato "_id" o "Id" o calcolato secondo i valori contenuti in IdFields), viene salvato solo il primo Dataset presente nel catalogo, i successivi col medesimo identificativo vengono scartati.
Tra le opzioni di conversione elencate in CsvToListConversionOptions, vengono gestite nella configurazione del Plug Elastic Storage solo le seguenti:
•Delimiter
•QuotedFields
•ListOfDataset (è sempre assunto pari a true)
•HeaderRow
•ColumnHeader
•ColumnTypes
•ColumnFormats
•CultureInfo
mentre vengono ignorate:
•IgnoreLineBreaks
•ListOfDataset se valorizzato come false
E' opportuno specificare sempre nelle opzioni di conversione del CSV il parametro cultureInfo, per evitare errori di conversione dovuti ad una diversa interpretazione del formato di numeri e date per una regione o paese.
Le righe del CSV vengono convertite in istruzioni per l'inserimento della configurazione del Plug Elastic Storage. Durante la conversione se:
•skipErrors è uguale a false, al primo controllo fallito la procedura deve essere interrotta e deve essere restituita un'eccezione.
•skipErrors è uguale a true, le righe che non si è riusciti a convertire vengono accodate allo ScrapReport. Alle righe dello ScrapReport viene aggiunta una cella contente informazioni relative all'errore.
Se il job viene sospeso, il processo resta nello stato idle in attesa di ripresa o interruzione.
Il metodo si comporta come segue:
Restituisce |
Condizione |
Errore |
Se inputFile contiene un campo che si chiama "_id" e un campo che si chiama "Id". |
Errore |
Se inputFile contiene un campo che si chiama "_id" o "Id" e questo è di tipo diverso da testo breve e numerico intero. |
Errore |
Se inputFile contiene una Reference ad una risorsa non contenente alcun file di tipo CSV. |
Errore |
Se inputFile contiene una Reference ad una risorsa contenente più di un file di tipo CSV. |
Errore |
Se configurationReference è una risorsa inesistente. |
Errore |
Se il parametro option contiene una definizione di ColumnTypes con tipi non ammessi. |
Errore |
Se il parametro option contiene una definizione di ColumnTypes su un campo non presente nel CSV. |
Errore |
Se il CSV contiene un numero di colonne differente da riga a riga. |
Errore |
Se in presenza di campi di tipo data nel CSV non è impostato CultureInfo nelle opzioni di conversione. |
Errore |
Se il Job è in stato faulted. |
Autorizzazioni
Per eseguire il metodo è necessario possedere il permesso di Utilizzo sull'indice del Plug Elastic Storage.