Consulta i connettori supportati per Application Integration.

Introduzione alla gestione degli errori

In Integrazione delle applicazioni, potrebbero 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 modo generale come segue:

  • Errori permanenti: tutti gli errori lato client, come errori di autenticazione ed errori di convalida dei dati, sono considerati errori permanenti. Gli errori permanenti causano errori permanenti nelle attività.
  • Errori temporanei: tutti gli errori lato server, come HTTP 503 (servizio non disponibile) e 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 rilevati 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 integrazione: mostra gli errori rilevati durante la pubblicazione di un'integrazione. Gli errori vengono visualizzati nella parte inferiore della pagina dell'editor di integrazione. Per informazioni sulla pagina dell'editor integrazioni, vedi Editor integrazioni.

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

Metodi di gestione degli errori

L'Application Integration supporta i seguenti metodi di gestione degli errori per generare, intercettare, 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 va a buon fine a causa di un errore temporaneo. Puoi specificare strategie di gestione degli errori diverse sia per le modalità di esecuzione sincrona sia per quelle asincrona.
  • Raccogli errori: definisce un modo personalizzato per gestire l'errore di un trigger, di un'attività o di una condizione di confine identificata nell'integrazione. Puoi definire uno o più error catcher in una singola integrazione per gestire gli errori delle attività e/o i fallimenti di esecuzione. Ogni error catcher può essere invocato utilizzando un attivatore, chiamato attivatore di error catcher, per eseguire l'insieme di attività di integrazione configurate personalizzate per gestire l'errore.

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

  • Esecuzioni sincrone:in modalità sincrona, il risultato dell'esecuzione dell'integrazione è disponibile poco dopo l'esecuzione dell'integrazione. 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 in scenari in cui l'esecuzione delle integrazioni può richiedere molto tempo o il risultato dell'esecuzione non è necessario subito dopo l'esecuzione dell'integrazione. Gli attivatori che eseguono l'integrazione in modalità asincrona includono:

Best practice

Utilizza sia la strategia di gestione degli errori sia l'error catcher nell'integrazione. In caso di errore, l'integrazione segue la strategia definita nella sezione di 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 rilevamento degli errori.

Esempio

Supponiamo che tu abbia 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 servizio 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 l'error catcher 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à Chiama endpoint REST nel designer di integrazione per aprire il riquadro di configurazione dell'attività. Il seguente diagramma mostra la strategia di gestione degli errori configurata per l'attività Chiama 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 validatore degli errori, fai clic sull'attività Chiama endpoint REST nel designer di integrazione per aprire il riquadro di configurazione dell'attività. Nella sezione Raccogli errori, aggiungi i dettagli del Raccogli errori. Il seguente diagramma mostra il validatore degli errori configurato per l'attività Chiama endpoint REST:

Rilevamento degli errori per l'attività di chiamata endpoint REST Rilevamento 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 saperne di più, 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. Questo può accadere se il token OAuth non ha gli ambiti corretti, se il client non dispone delle autorizzazioni richieste o se l'API non è stata attivata.
NotFoundException NOT_FOUND 404 La 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 degli attivatori 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.