Creare caricatori cloud personalizzati
La creazione di un caricatore cloud personalizzato richiede una conoscenza approfondita della programmazione in JavaScript. Non iniziare a creare un caricatore cloud personalizzato se il team non include un programmatore JavaScript esperto. Prima di creare un caricatore cloud personalizzato, è inoltre necessario ottenere l'autorizzazione Sviluppatore integrazioni in Amministrazione > Set di autorizzazioni.
I caricatori cloud personalizzati consentono di esportare
Adaptive Planning
pianificare i dati direttamente su sistemi cloud di terzi.Guarda il video:
3 minuti e 16 secondiProcedura di base
- Immettere le impostazioni dell'origine dati.
- Definire i parametri.
- Scrivere JavaScript utilizzando le API di CCDS in ai Namespace.
- Definire le regole aziendali.
- Eseguire o pianificare l'esecuzione del caricatore.
Prerequisiti
Prerequisiti
- Verificare di disporre dell'autorizzazione Sviluppatore integrazioni.
- VerificareAdaptive Planningi dati del piano che si desidera esportare esistono già in una tabella di gestione temporanea.
- Creare credenziali OAuth per il sistema esterno o ottenere credenziali che è possibile includere in modo esplicito nel codice JavaScript.
- Definire quali parametri è necessario passare al sistema esterno e quali sono i valori predefiniti previsti da tale sistema.
- Approfondire le modalità per le comunicazioni scritte con l'endpoint del sistema esterno.
Navigazione
Dal menu di navigazione, accedere a Immettere le impostazioni dell'origine dati
In Impostazioni dell'origine dati è possibile scegliere la tabella di origine che si desidera utilizzare nei dati di gestione temporanea dell'istanza e di determinare le credenziali da utilizzare e il livello dei dettagli registrati durante un'esecuzione del caricatore.
Creare un nuovo caricatore cloud personalizzato
- Accedere al Designer dati selezionandoIntegrazione > Progettazione integrazioni.
- Nella cartella Caricatori della Libreria componenti, selezionareCrea nuovo caricatore.
- SelezionareCaricatore cloud personalizzatocome tipo di caricatore e immettere un nome.Se l'opzione Caricatore cloud personalizzato non è presente, il caricatore cloud personalizzato non è abilitato per l'istanza in uso oppure non si dispone dell'autorizzazione Sviluppatore integrazioni necessaria per accedere al caricatore.
- SelezionareCrea.
Selezionare valori per Tabella di origine, Credenziale e Livello registro
- Immettere le informazioni del Caricatore cloud personalizzato:
- Tabella di origine:selezionare una tabella di gestione temporanea contenenteAdaptive Planningdati di pianificazione che si desidera esportare.
- Credenziali richieste:selezionare questa opzione se il sistema esterno richiede OAuth e si desidera che l'utente che seleziona le credenziali OAuth disponga dell'autorizzazione Operatore di integrazione.
- Credenziale:selezionare una credenziale OAuth preesistente.
- Livello registro:selezionare la quantità di dettagli da registrare quando il caricatore è in esecuzione:
- Errore:registra solo gli errori.
- Info:registra tutte le informazioni di base, ad esempio quando è stata aggiornata l'origine dati.
- Dettagli:fornisce informazioni dettagliate su tutte le fasi e le azioni. Viene utilizzato principalmente per il debug o la verifica, perché può aggiungere al registro una quantità di informazioni eccessiva.
- Fare clic suSalvanel menu delle azioni.
Definire i parametri
Definire quali parametri javaScript richiede per l'esportazione
Adaptive Planning
dati al sistema esterno. I parametri possono includere URL di connessione, nomi utente, password e dimensioni da Adaptive Planning
e altre informazioni. Le impostazioni con parametri consentono di modificare i valori in fase di esecuzione. Le impostazioni statiche restano invariate nelle esecuzioni in sequenza del caricatore.- SelezionareImpostazioni designer.
- Trascinare gli elementi di impostazione di tipo Con parametri o Statico dal riquadroComponente impostazioniaImpostazioni designer.
- I valori delle impostazioni con parametri immessi in questo passaggio diventano valori predefiniti del caricatore, se non viene specificato un valore alternativo nella fase di esecuzione del caricatore.
- Le impostazioni statiche immesse in questo passaggio vengono utilizzate ogni volta che viene eseguito il caricatore e non richiedono nessun input nella fase di esecuzione.
- Booleano: un valore uno o zero.
- Dimensione: una dimensione dall'amministratore della dimensione all'internoAdaptive Planning.
- Intero: un numero intero non negativo.
- Password: una password. Una volta salvato, questo valore non può essere visualizzato.
- Intervallo di tempo: un intervallo di tempo compreso tra l'internoAdaptive Planning.
- Testo: un valore alfanumerico.
- Fare doppio clic su una voce parametro per immettere un nome e modificarne il valore.
- Trascinare tutti gli elementi necessari a cui fare riferimento in JavaScript.
- Salvare il caricatore.
- Utilizzare il nome di un parametro in JavaScript per fare riferimento al parametro.
Creare codice JavaScript
- SelezionareScript.
- Selezionare il modello preesistente e modificarlo, oppure selezionareNuovo scriptper creare uno script personalizzato.
- Scrivere il javaScript che si desidera venga eseguito dal caricatore utilizzando le API di CCDS in ai Namespace.
- Verificare che lo script includa i seguenti elementi obbligatori:
- testConnectionper creare una richiesta https da pubblicare nel sistema esterno
- exportDatafunzione da cui esportare i datiAdaptive Planning. Consultare Funzione di esportazione dei dati (solo caricatore cloud personalizzato) nell'argomento Adaptive Planning Functions.
- Creare riferimenti basati sul nome per tutti i parametri creati in Impostazioni designer.
- Salvare lo script.
È possibile formattare e ottimizzare uno script nell'editor utilizzando la scelta rapida da tastiera
CTRL+MAIUSC+B
. Per trovare e sostituire gli elementi di avvio, utilizzare CTRL+H
.È possibile separare uno script lungo in più file, per semplificarne la gestione.
Esempio: è possibile contenere tutti i
testConnection
logica in un unico script chiamato testconnectionscript
. Un secondo script, chiamato exportdatascript
, potrebbe contenere tutti i exportData
logica Quando la stessa funzione viene dichiarata in più script, viene utilizzata la funzione dell'ultimo script aggiunto.
Utilizzare OAuth negli script del caricatore cloud personalizzato
Quando si seleziona Richiedi credenziali per un caricatore cloud personalizzato, lo script deve contenere
ai.https.authorizedRequest.
Consultare Autenticare con OAuth per informazioni su come creare credenziali OAuth.
L'utente che esegue un caricatore cloud personalizzato che fa riferimento a una credenziale deve:
- SelezionareRichiedi autorizzazioneprima di eseguire il caricatore.
- Fornire tutti i dettagli di autorizzazione aggiuntivi necessari per l'endpoint del sistema esterno, ad esempio l'ambito.
- SelezionareTest di connessioneper verificare che le credenziali OAuth siano state trasmesse correttamente all'endpoint.
- Annotare la data di autorizzazione e l'ID utente in Stato autorizzazione. Le date di scadenza delle autorizzazioni variano da un sistema esterno all'altro. Selezionare Reimposta autorizzazione nel riquadro Azioni per riattivare l'autorizzazione in base alle esigenze.
Definire le regole aziendali
È possibile utilizzare le regole aziendali per creare espressioni SQL che limitano i dati di gestione temporanea esportati nel sistema esterno. Verranno caricati solo i record che soddisfano i criteri del filtro.
La scheda Regole aziendali contiene un'area di testo per l'immissione di codice SQL.
- Selezionare la schedaRegole aziendali.
- SelezionareModifica.
- Immettere un'espressione SQL. È possibile fare clic su un elemento in Colonne disponibili per inserire la colonna nell'espressione SQL invece di digitarla.
- SelezionareApplicaper verificare la sintassi. In caso di errore, il bordo intorno all'espressione diventerà di colore rosso. Passare il puntatore del mouse sull'espressione per visualizzare le informazioni sull'errore di sintassi.
- Correggere eventuali errori di sintassi e selezionareApplica. Verranno caricate solo le righe di gestione temporanea corrispondenti all'espressione SQL.
Includere il caricatore cloud personalizzato in un'attività di integrazione
I caricatori cloud personalizzati devono essere eseguiti come attività di integrazione. Ogni attività può contenere uno o più caricatori. Un'attività può contenere anche altre attività di integrazione e caricatori. Consultare Creare attività di integrazione.
Best practice: impostare un'attività di integrazione separata per ciascun caricatore.
Se un'attività contiene più caricatori, i parametri di ciascun caricatore vengono visualizzati al momento dell'esecuzione dell'attività. Se è presente un parametro comune/condiviso utilizzato nel o nei caricatori inclusi in un'attività, l'attività lo richiederà una sola volta. È possibile scegliere di sostituire le richieste di parametri.
Per le esecuzioni pianificate dell'attività vengono utilizzati i valori predefiniti dei parametri archiviati al momento della creazione dei caricatori.
Script CCL di esempio
Utilizzare l'esempio seguente per connettersi all'istanza AWS S3 per l'esportazione e la visualizzazione dei dati del foglio di calcolo. Saranno necessari i valori nome dell'intervallo, chiave, chiave di accesso, chiave privata e area geografica. Per ulteriori informazioni e codici di esempio, consultare ai.awss3.
- Configurare un'origine dati foglio di calcolo.
- Creare un nuovo caricatore cloud personalizzato nel riquadroCaricatori.
- Passare alla schedaImpostazioni origine datie selezionare l'origine dei dati del foglio di calcolo nel campoTabella di origine.
- Copiare lo script di esempio seguente nella schedaScript.// Manually invoke this method via 'Test connection' function testConnection(context) { return true; } // Manually invoke this method via 'Run manually' function exportData(context) { //"xxx" is the name of your Amazon S3 bucket. var bucketName = 'xxx'; //Name of the sample CSV file to which data from your spreadsheet data source is exported var key = 'exampleTest.csv'; //"xxxx" is the access key for your AWS S3 bucket. var awsAccessKey = 'xxxx'; //"xxxx" is the secret key of your AWS S3 bucket. var awsSecretKey = 'xxxx'; var region = 'us-west-1'; // Step 1: Get the data var reader = context.createTableReader(); // Step 2: Process and export the data var result = "Column,Heading,Names\n"; var row = null; while ((row = reader.readRow()) !== null) { // remove meta columns we don't need row.length = row.length - 2; result += row.join() + '\n'; } ai.awss3.putFile(bucketName, key, result, region, awsAccessKey, awsSecretKey); }
- SelezionareSalvanel riquadroAzioni.
- Per eseguire lo script, selezionareEsegui manualmentenel riquadroAzioni.