Introduzione alla gestione degli errori

In Application Integration, possono verificarsi errori durante il test e la pubblicazione di un'integrazione o durante l'esecuzione di un'integrazione. Questi errori possono verificarsi a causa di vari problemi lato client e lato server e sono classificati in generale come segue:

  • Errori permanenti: Tutti gli errori lato client, come errori di autenticazione, errori di convalida dei dati, sono considerati errori permanenti. Gli errori permanenti causano errori permanenti delle attività.
  • Errori temporanei: Tutti gli errori lato server, ad esempio HTTP 503 (servizio non disponibile), HTTP 400 (richiesta non valida), sono considerati errori temporanei. Gli errori temporanei causano errori temporanei delle attività.

I messaggi di errore vengono visualizzati nelle seguenti posizioni:

  • Pagina dei log di esecuzione: mostra gli errori riscontrati durante l'esecuzione di un'integrazione. Ogni esecuzione di un'integrazione ha una voce di log separata. Per informazioni sulla pagina dei log di esecuzione, vedi Log di esecuzione.
  • Pagina dell'editor di integrazioni: mostra gli errori riscontrati durante la pubblicazione di un'integrazione. Gli errori vengono visualizzati nella parte inferiore della pagina dell'editor di integrazione. Per informazioni sulla pagina Editor integrazioni, vedi Editor integrazioni.

Per informazioni sull'elenco dei codici di errore che potresti riscontrare, vedi Codici di errore.

Metodi di gestione degli errori

L'Application Integration supporta i seguenti metodi di gestione degli errori per generare, rilevare, riprovare e personalizzare gli errori riscontrati nell'integrazione:

  • Strategie di gestione degli errori: la strategia di gestione degli errori per un'attività specifica l'azione da intraprendere se l'attività non riesce a causa di un errore temporaneo. Puoi specificare diverse strategie di gestione degli errori per le modalità di esecuzione sincrona e asincrona.
  • Rilevatore degli errori: il rilevatore degli errori definisce un modo personalizzato per gestire l'errore di una condizione di attivatore, attività o edge identificata nell'integrazione. Puoi definire uno o più gestori di errori in una singola integrazione per gestire gli errori delle attività e/o gli errori di esecuzione. Ogni rilevatore degli errori può essere richiamato utilizzando un attivatore, chiamato attivatore del rilevatore degli errori, per eseguire il set di attività di integrazione configurate personalizzate per gestire l'errore.

Puoi utilizzare i metodi di gestione degli errori per le modalità di esecuzione dell'integrazione sincrona e asincrona:

  • Esecuzioni sincrone:in modalità sincrona, il risultato dell'esecuzione dell'integrazione è disponibile subito dopo l'esecuzione. La modalità sincrona è utile negli scenari in cui vuoi ottenere il risultato dell'esecuzione immediatamente dopo l'esecuzione dell'integrazione. Gli attivatori che eseguono l'integrazione in modalità sincrona includono quanto segue:
  • Esecuzioni asincrone:le esecuzioni asincrone utilizzano il modello fire and forget. La modalità asincrona è utile negli scenari in cui l'esecuzione delle integrazioni può richiedere molto tempo o il risultato dell'esecuzione non è richiesto immediatamente dopo l'esecuzione dell'integrazione. Gli attivatori che eseguono l'integrazione in modalità asincrona includono quanto segue:

Best practice

Utilizza sia la strategia di gestione degli errori sia il gestore degli errori nell'integrazione. Per qualsiasi errore, l'integrazione segue la strategia definita nella sezione relativa alla gestione degli errori. Dopo aver esaurito la strategia di gestione degli errori configurata, viene attivata la logica di rilevamento degli errori. Utilizza le variabili di sistema per acquisire il valore del codice di errore e del messaggio di errore da inviare al flusso di gestione degli errori.

Esempio

Supponiamo di avere un flusso di integrazione per creare un ordine. I nuovi ordini vengono creati in Cloud SQL per MySQL. Il flusso utilizza un'attività del connettore (Crea un ordine in questo esempio) per connettersi a Cloud SQL per MySQL. In caso di interruzione del database, l'attività del connettore genera errori durante l'inserimento di nuovi ordini nel database. Come best practice, devi utilizzare sia la strategia di gestione degli errori sia il gestore degli errori nell'integrazione.

Per aggiungere la strategia di gestione degli errori, fai clic sull'attività del connettore nel designer dell'integrazione per aprire il riquadro di configurazione dell'attività. Il seguente diagramma mostra la strategia di gestione degli errori configurata per l'attività del connettore Crea un ordine:

Strategia di gestione degli errori per l'attività del connettore Crea un ordine Strategia di gestione degli errori per l'attività del connettore Crea un ordine

Per aggiungere la strategia di gestione degli errori, fai clic sull'attività Chiamata endpoint REST nella finestra di progettazione dell'integrazione per aprire il riquadro di configurazione dell'attività. Il seguente diagramma mostra la strategia di gestione degli errori configurata per l'attività Chiamata endpoint REST:

Strategia di gestione degli errori per l'attività di chiamata endpoint REST Strategia di gestione degli errori per l'attività di chiamata endpoint REST

Per aggiungere il gestore degli errori, fai clic sull'attività Chiamata endpoint REST nella finestra di progettazione dell'integrazione per aprire il riquadro di configurazione dell'attività. Nella sezione Error Catcher, aggiungi i dettagli di Error Catcher. Il seguente diagramma mostra il gestore degli errori configurato per l'attività Chiamata endpoint REST:

Gestore degli errori per l'attività di chiamata endpoint REST Gestore degli errori per l'attività di chiamata endpoint REST

Codici di errore

La tabella seguente descrive gli errori che potresti riscontrare e le relative cause. Application Integration utilizza i codici di errore canonici definiti in google.rpc.Code.

Per informazioni sugli errori di Application Integration e sulle diverse strategie di gestione degli errori, consulta Errori e gestione degli errori.

Tipo di eccezione standard Codice canonico Codice HTTP Descrizione
FailedPreconditionException FAILED_PRECONDITION 400 La richiesta non può essere eseguita nello stato attuale del sistema.
BadRequestException INVALID_ARGUMENT 400 Il client ha specificato un argomento non valido. Per maggiori informazioni, controlla il messaggio di errore e i dettagli dell'errore.
UnauthenticatedException UNAUTHENTICATED 401 La mancata autenticazione della richiesta è dovuta a un token OAuth mancante, non valido o scaduto.
ForbiddenException PERMISSION_DENIED 403 Il client non dispone di autorizzazioni sufficienti. Ciò può accadere se il token OAuth non dispone degli ambiti corretti, se il client non dispone delle autorizzazioni richieste o se l'API non è stata abilitata.
NotFoundException NOT_FOUND 404 Una risorsa specificata non è stata trovata.
AlreadyExistsException ALREADY_EXISTS 409 La risorsa che un client ha cercato di creare esiste già.
InternalError INTERNAL 500 Errore interno del server. In genere si tratta di un bug del server. Ciò può accadere se una delle attività o dei trigger non è configurata correttamente.
UnimplementedException UNIMPLEMENTED 501 Metodo API non implementato dal server.
ServiceUnavailableException UNAVAILABLE 503 Servizio non disponibile. In genere il server non è attivo.
AbortedException ABORTED 409 Le dimensioni della risposta sono troppo grandi.