Vai al contenuto
Menu della documentazione

Ambienti

Development, staging e production: una connessione per sorgente dati in ciascuno, e chiavi API che li tengono separati.

Gli ambienti tengono separati i dati di sviluppo, di prova e di produzione. Lo stesso template, con la stessa versione, legge il database di sviluppo mentre lo progetti e quello di produzione quando il tuo ERP lo genera, senza una stringa di connessione nel template.

Che cos'è un ambiente

Un ambiente appartiene a un workspace e ha una chiave (usata dall'API: production), un nome e un'opzione produzione. Decide una cosa sola: quale connessione di ogni sorgente dati usa una query. Non contiene template o versioni propri.

Gli ambienti predefiniti

developmentDevelopment
Dove progetti e provi. Il Designer lo usa come predefinito.
stagingStaging
Per i collaudi su una copia dei dati di produzione.
productionProduction
I tuoi dati reali. Contrassegnato come produzione: in rosso nel selettore degli ambienti; le chiavi test non possono usarlo.

Aggiungere e modificare ambienti

  • Nelle impostazioni del workspace, Ambienti (permesso workspace.manage: admin e owner): Aggiungi un ambiente con chiave, nome e opzione di produzione, oppure cambia nome, ordine e opzione di uno esistente.
  • Le chiavi iniziano con una lettera minuscola, poi lettere minuscole, cifre e trattini, al massimo 32 caratteri (per esempio uat o collaudo-cliente), uniche nel workspace. Una chiave non cambia mai dopo la creazione; gli ambienti non si possono eliminare.

Connessioni per ambiente

Ogni sorgente dati ha al massimo una connessione per ambiente, ognuna con il proprio host, le proprie credenziali e la propria modalità (gateway o diretta). Una configurazione tipica:

developmentgateway
ERP_DEV sul server di sviluppo, tramite il gateway dell'ufficio.
staginggateway
ERP_TEST, una copia notturna della produzione.
productiongateway
ERP_PROD, tramite due gateway per l'alta disponibilità.

Se l'ambiente di una richiesta non ha una connessione per una sorgente dati, la richiesta fallisce con DATA_SOURCE_NOT_CONFIGURED: Prynt non ripiega mai sul database di un altro ambiente.

Gli ambienti nel Designer

Il selettore dell'ambiente in alto nell'applicazione decide la connessione usata dall'editor SQL, dall'esploratore del database, dalle prove dei dataset, dalle anteprime e dalle prove di generazione. Parte da Development; gli ambienti di produzione sono evidenziati, così sai sempre quando stai guardando dati reali.

Gli ambienti nell'API

Una generazione legge i dati dell'ambiente indicato nel membro environment della richiesta, altrimenti di quello predefinito della chiave API. La risposta dice quale ha usato nell'header X-Environment.

Generazione con i dati di staging
curl -X POST https://api.prynt.it/api/v1/render \  -H "Authorization: Bearer prynt_test_..." \  -H "Content-Type: application/json" \  -d '{ "template": "INVOICE", "environment": "staging", "parameters": { "DOCUMENT_ID": 18425 } }'
ENVIRONMENT_NOT_FOUND404
Nessun ambiente con questa chiave nel workspace.
ENVIRONMENT_NOT_ALLOWED403
Una chiave test ha chiesto un ambiente di produzione.
DATA_SOURCE_NOT_CONFIGURED422
Una sorgente dati del template non ha una connessione per l'ambiente.

Chiavi live e test

  • Ogni chiave API è live (prynt_live_…) o test (prynt_test_…) e ha un ambiente predefinito, scelto quando la crei.
  • Se non scegli, le chiavi live usano production e le chiavi test development.
  • Le chiavi test non possono mai usare un ambiente contrassegnato come produzione, né come predefinito né nella singola richiesta: un sistema di prova non può leggere per errore i dati di produzione.

Vedi Autenticazione.

Ambienti e versioni

Le versioni non vengono promosse da un ambiente all'altro: un template ha una sola versione corrente per tutto il workspace, e ogni ambiente genera quella (o la versione indicata nella richiesta). Per provare una nuova versione sui dati di staging prima che la stampino i tuoi sistemi di produzione, guarda l'anteprima del draft nel Designer con l'ambiente Staging selezionato, oppure pubblicala e generala dal tuo sistema di prova con "environment": "staging"; un rollback riporta subito la versione precedente.

Workspace separati per cicli di vita separati

Se la produzione deve continuare a stampare la versione 7 mentre provi la versione 8 tramite API, fissa la versione nelle chiamate di produzione ("version": 7) finché non sei pronto, oppure tieni i template di prova e di produzione in workspace separati.