CreateFromCatalog

<< Fare clic per visualizzazione il sommario >>

Percorso:  API di piattaforma > JamioPlug > JamioPlug Elastic Storage >

CreateFromCatalog

Salva i dati presenti in un catalogo Jamio, in un indice del plug ElasticStorage.

Le righe del catalogo che non possono essere salvate vengono restituite in un file CSV di scarto.

 

Metodo

PlugElasticStorage/CreateFromCatalog

 

Input

Nome

Descrizione

Tipo

Opzionale

token

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 ElasticStorage da utilizzare.

E' possibile specificare un collegamento con valorizzata solo la proprietà Name pari al Nickname di una configurazione esistente.

Reference

 

catalogReference

Collegamento al catalogo Jamio contenente i valori da creare nel Dataset di un indice del Plug ElasticStorage.

E' necessario specificare anche il valore del campo identificativo del Dataset da creare. Esso può essere espresso tramite un campo denominato "_id" o "Id" o in alternativa specificando, nel parametro idFields, i valori dei campi utili a calcolare l'identificativo.

Reference

 

parameters

Parametri di ricerca da applicare per individuare i Dataset da creare. (Se non specificato, vengono creati nell'indice tutti i Dataset del catalogo).

SearchParameters

Y

idFields

Nomi dei campi del catalogo utili a calcolare l'identificativo del Dataset di un indice del Plug ElasticStorage.

Il parametro è obbligatorio, ma viene ignorato se tra i dati del catalogo esiste un campo denominato "_id" o "Id", secondo le logiche qui riportate. Se idFields è valorizzato con {id} l'identificativo del Dataset dell'indice del Plug ElasticStorage è valorizzato con l'id della risorsa i-esima del catalogo.

Gli IdFields non hanno alcuna relazione con il parametro includeFields, essi non caratterizzano i campi del Dataset, ma sono di ausilio alla caratterizzazione dell'ID del Dataset in elastic.

List of string

 

commonFields

Dato strutturato che riporta un insieme di campi che vengono impostati come valore comune su tutti i DataSet da creare. Per maggiori dettagli vedi sezione commenti.

Dataset

Y

referenceField

Specifica in quale campo dell'indice del plug ElasticStorage deve essere riportato il collegamento alla risorsa a cui fa riferimento l'elemento i-esimo del catalogo.

String

Y

skipErrors

Indica se proseguire o meno nel caso in cui una riga del catalogo presenti degli errori di conversione dei campi o riporti un numero di campi diverso da quello previsto. Se True, nel caso di errori, verrà generato nel returnValue uno ScrapReport contenente i valori scartati e i relativi messaggi d'errore.

Boolean

Y

includeFields

Nomi delle colonne del catalogo che devono essere inserite nell'indice del Plug ElasticStorage. Se non specificato sono riportate nell'indice del Plug ElasticStorage tutte le colonne.

List of string

Y

Output

 

Nome

Descrizione

Tipo

 

returnValue

Dato strutturato con i seguenti campi:

TotalItems: numero totale di CatalogItem da processare;

ProcessedItems: numero di CatalogItem processati correttamente;

ScrappedItems: numero di CatalogItem processati con errore o non processati per interruzione del Job;

ScrapReport: file .zip contenente un file .csv che riporta solo i CatalogItem processati con errore.

JobStatus: enumerativo che indica lo stato finale del job (Completed o Canceled).

Dataset

 

 

Commenti

Se il Dataset estratto dal catalogo contiene due o più righe con lo stesso identificativo (campo denominato "_id" o "Id" o calcolato secondo i valori contenuti in IdFields), viene salvato nell'indice il primo Dataset presente nel catalogo, i successivi col medesimo identificativo vengono scartati e riportati nello ScrapReport.

 

Se i parametri commonFields e includeFields vengono entrambi valorizzati:

se il campo specificato in commonFields non è presente nè nell'indice e nè tra i valori di includeFields, il campo verrà aggiunto all'indice, oltre ai campi indicati nel parametro includeFields;

se il campo specificato in commonFields è presente nell'indice ed è anche tra i valori di includeFields, nell'indice saranno aggiornati tutti i campi indicati in entrambi i parametri, riportando, per quello indicato nel parametro commonFields, il valore comune valorizzato in tale parametro. I valori specificati in commonFields hanno prevalenza su quelli specificati tramite includeFields;

se il campo specificato in commonFields è presente nell'indice e ma non tra i valori di includeFields, nell'indice saranno aggiornati tutti i campi indicati in entrambi i parametri.

 

Se il Dataset estratto dal catalogo contiene valori nulli, nell'indice del Plug Elastic Storage verranno creati come di seguito, a seconda della tipologia del dato:

CampoCollegamento: {"Type":0, "Url":"", "Name":""},

Numerico Intero: 0

Numerico decimale: 0.0

Numerico a virgola mobile: 0.0

Boolean: false

String: ''

Datetime: il campo non viene riportato nel dataset di elastic.

 

Le righe del catalogo 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.

 

Il metodo si comporta come segue:

 

Restituisce

Condizione

Errore

Se il Dataset estratto dal catalogo indicato nel parametro catalogReference contiene un campo che si chiama "_id" e un campo che si chiama "Id"

Errore

Se il Dataset estratto dal catalogo indicato nel parametro catalogReference contiene un campo che si chiama "_id" o "Id", ma di tipo diverso da testo breve o numerico intero.

Errore

Se il Dataset estratto dal catalogo indicato nel parametro catalogReference non contiene un campo che si chiama "_id" o "Id" e idFields non è valorizzato.

Errore

Se i campi di idFields non esistono nel Dataset estratto dal catalogo, indicato nel parametro catalogReference

Errore

Se i campi passati al parametro idFields sono diversi da testo breve e numerico intero.

Errore

Se i campi del Dataset estratto dal catalogo, indicato nel parametro catalogReference, non sono del tipo ammesso (testo breve, testo lungo, numerico intero, numerico a virgola mobile, numerico decimale, data e data/ora, booleano, collegamento).

Errore

Se un filtro applicato sul catalogo non restituisce alcun Dataset

Errore

Se il nome del campo referenceField è uguale al nome di una colonna del catalogo riportato in catalogReference.

Errore

Se il nome del campo referenceField è uguale al nome di un campo di CommonFields.

Errore

Se includeFields riporta il nome di una colonna non presente nel catalogo riportato in catalogReference.

 

I Dataset esistenti nell'indice e quelli non estratti dal catalogo indicato nel parametro catalogReference non vengono alterati.

 

Autorizzazioni

Per eseguire il metodo è necessario possedere il permesso di Utilizzo sull'indice del Plug Elastic Storage.