HTTP
Il connettore HTTP fornisce la connettività al servizio HTTP e ti consente di utilizzare le API basate su HTTP. Il connettore supporta anche la connettività SSL/TLS tramite configurazione personalizzata e vari meccanismi di autenticazione come la concessione delle credenziali client OAuth 2.0, di base e digest.
Prima di iniziare
Prima di utilizzare il connettore HTTP, esegui le seguenti attività:
- Nel tuo progetto Google Cloud:
- Assicurati che la connettività di rete sia configurata. Per informazioni sui pattern di rete, consulta Connettività di rete.
- Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
- Concedi i seguenti ruoli IAM al account di servizio che vuoi utilizzare per il connettore:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente non umano che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, vedi Creare un service account.
- Attiva i seguenti servizi:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Per capire come abilitare i servizi, consulta Abilitazione dei servizi.
Se questi servizi o queste autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti viene chiesto di attivarli durante la configurazione del connettore.
Configura il connettore
Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione separata per ciascuna origine dati. Per creare una connessione:
- Nella console Cloud, vai alla pagina Integration Connectors > Connessioni e poi seleziona o crea un progetto Google Cloud.
- Fai clic su + Crea nuovo per aprire la pagina Crea connessione.
- Nella sezione Località, scegli la località per la connessione.
- Regione: seleziona una località dall'elenco a discesa.
Per l'elenco di tutte le regioni supportate, consulta Località.
- Fai clic su Avanti.
- Regione: seleziona una località dall'elenco a discesa.
- Nella sezione Dettagli connessione, completa quanto segue:
- Connettore: seleziona HTTP dall'elenco a discesa dei connettori disponibili.
- Versione del connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
- Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.
I nomi delle connessioni devono soddisfare i seguenti criteri:
- I nomi delle connessioni possono contenere lettere, numeri o trattini.
- Le lettere devono essere minuscole.
- I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
- I nomi delle connessioni non possono contenere più di 49 caratteri.
- (Facoltativo) Inserisci una Descrizione per l'istanza di connessione.
- (Facoltativo) Abilita Cloud Logging,
quindi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su
Error
. - Service Account: seleziona un account di servizio con i ruoli richiesti.
- (Facoltativo) Per controllare lo stato della connessione, specifica un URL endpoint nel campo Controllo stato. L'URL può includere anche un indirizzo IP di allegato endpoint. Lo stato è attivo per impostazione predefinita.
- (Facoltativo) Configura le impostazioni del nodo di connessione:
- Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
- Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.
Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, viceversa, sono necessari meno nodi per elaborare meno transazioni. Per capire in che modo i nodi influiscono sui prezzi dei connettori, consulta la sezione Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita i nodi minimi sono impostati su 2 (per una migliore disponibilità) e i nodi massimi su 50.
-
Utilizza proxy: seleziona la casella di controllo per configurare un server proxy per la connessione.
- Fai clic su + Aggiungi destinazione.
- Seleziona un tipo di destinazione.
- Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.
Se vuoi stabilire una connessione privata al tuo backend:
- Crea un collegamento del servizio PSC.
- Crea un collegamento dell'endpoint e poi inserisci i dettagli del collegamento dell'endpoint nel campo Indirizzo host.
- Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.
- (Facoltativo) Fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
- Se vuoi utilizzare SSL, seleziona Abilita SSL. Vengono visualizzati i dettagli della configurazione SSL.
- Seleziona un tipo di negozio attendibile. Può essere Pubblico, Privato o Connessione non sicura.
- Seleziona i certificati visualizzati in base alla selezione dell'archivio attendibile.
- Se utilizzi un certificato autofirmato o un certificato dell'archivio attendibilità privato, archivia il certificato radice come secret di Secret Manager in formato PEM (Privacy Enhanced Mail), quindi in Custom Trust Store seleziona il secret richiesto.
- Se utilizzi mTLS, seleziona i certificati dell'archivio chiavi nella sezione Archivio chiavi.
- (Facoltativo) Seleziona la versione TLS.
- Inserisci il pacchetto di cifratura supportato. Inserisci più suite di crittografia come valori separati da virgole. Per ulteriori informazioni, vedi Suite di crittografia supportate.
- Fai clic su Avanti.
- Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
- Per specificare il nome host o l'indirizzo IP di destinazione, seleziona Indirizzo host e inserisci l'indirizzo nel campo Host 1.
- Per stabilire una connessione privata, seleziona Collegamento endpoint e scegli il collegamento richiesto dall'elenco Collegamento endpoint.
Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valutare la possibilità di configurare indirizzi IP statici in uscita per le tue connessioni e poi configurare le regole del firewall in modo da consentire solo gli indirizzi IP statici specifici.
Per inserire altre destinazioni, fai clic su + Aggiungi destinazione.
- Fai clic su Avanti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
-
Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
La connessione HTTP supporta i seguenti tipi di autenticazione:
- Autenticazione personalizzata
- OAuth 2.0 - Concessione delle credenziali client
- Autenticazione di base
- Autenticazione Digest
- OAuth 2.0 - Codice di autorizzazione
- Service account
- Autenticazione del token ID service account
- Autenticazione con chiave API
- Fai clic su Avanti.
Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Rivedi: rivedi i dettagli di connessione e autenticazione.
- Fai clic su Crea.
Configura l'autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
- Autenticazione personalizzata
I dettagli di autorizzazione personalizzati possono essere aggiunti come intestazione della richiesta durante l'esecuzione dell'azione dell'attività Connettori.
- OAuth 2.0 - Concessione delle credenziali client
- ID client: l'ID client da utilizzare per l'autenticazione della richiesta HTTP.
- Client secret: secret di Secret Manager contenente il client secret per l'autenticazione della richiesta HTTP.
- Formato della richiesta per il token di accesso: formato della richiesta da utilizzare nelle richieste effettuate per recuperare il token di accesso dal server di autenticazione.
Seleziona
body
per trasmettere l'ID client e il segreto come corpo della richiesta oppureheader
per trasmetterli come intestazione codificata. - Token Request Path (Percorso richiesta token): percorso della richiesta da aggiungere all'URL del server di autenticazione per recuperare l'URL del token di accesso.
- Scadenza predefinita: scadenza predefinita (in secondi) del token di accesso. Questo periodo di tempo verrà utilizzato nel caso in cui la risposta del token di accesso non abbia un periodo di scadenza. Se il valore non viene fornito, il token verrà aggiornato dopo 6 ore.
- Autenticazione di base
- Nome utente: nome utente utilizzato per effettuare la richiesta HTTP.
- Password: il secret di Secret Manager contenente la password associata al nome utente fornito.
- Autenticazione Digest
- Nome utente: nome utente utilizzato per effettuare la richiesta HTTP.
- Password: il secret di Secret Manager contenente la password associata al nome utente fornito.
- OAuth 2.0 - Codice di autorizzazione
- ID client : l'ID client fornito dall'applicazione esterna.
- Ambiti : ambiti di autorizzazione supportati dall'applicazione esterna.
- Client secret : seleziona il secret di Secret Manager. Prima di configurare questa autorizzazione, devi aver creato il secret Secret Manager.
- Versione secret : la versione secret di Secret Manager per il client secret.
- (Facoltativo) Attiva PKCE (Proof Key for Code Exchange) se il server di backend lo supporta.
- URL di autorizzazione : inserisci l'URL di autorizzazione per l'applicazione esterna.
- URL token di accesso : inserisci l'URL per ottenere il token di accesso della tua applicazione esterna.
- Service account
Seleziona questa opzione per l'autenticazione utilizzando il account di servizio che hai fornito nei passaggi precedenti durante la configurazione di questa connessione. Assicurati di aver fornito il account di servizio con i ruoli e le autorizzazioni IAM pertinenti richiesti per l'autenticazione.
- Ambiti: seleziona gli ambiti OAuth 2.0 richiesti dal menu a discesa. Per saperne di più, vedi Ambiti di accesso.
- Autenticazione del token ID service account
Seleziona questa opzione per l'autenticazione utilizzando il token ID generato dall'account di servizio che hai fornito nei passaggi precedenti. Questa autenticazione utilizza token web JSON (JWT) per l'autenticazione. Il fornitore di token ID firma ed emette i JWT per l'autenticazione utilizzando un account di servizio.
- Pubblico: inserisci i destinatari a cui è destinato il JWT.
- Nome intestazione: inserisci il nome dell'intestazione per il token ID generato da utilizzare nell'intestazione HTTP. Se non
specifichi alcun valore per questo campo, per impostazione predefinita il valore della chiave è impostato su
Authorization
.
- Autenticazione con chiave API
Seleziona questa opzione per l'autenticazione tramite una chiave API.
- Chiave API: seleziona il secret di Secret Manager della chiave API.
- Versione del secret: seleziona la versione del secret.
- Nome parametro chiave API: inserisci un nome parametro per la chiave API. Una chiave API viene inviata al tuo server di backend come coppia chiave-valore. Il valore che inserisci qui verrà utilizzato come nome della chiave per la chiave API che hai selezionato in precedenza.
- Posizione della chiave API: seleziona dove vuoi aggiungere la chiave API nella richiesta.
Per il tipo di autenticazione Authorization code
, dopo aver creato la connessione, devi eseguire alcuni passaggi aggiuntivi per configurare l'autenticazione. Per saperne di più,
vedi Passaggi aggiuntivi dopo la creazione della connessione.
Suite di crittografia supportate
Versione TLS | Suite di crittografia supportate |
---|---|
1.2 |
|
1.3 |
|
Passaggi aggiuntivi dopo la creazione della connessione
Se hai selezionato OAuth 2.0 - Authorization code
per l'autenticazione, devi eseguire i seguenti passaggi aggiuntivi dopo aver creato la connessione:
- Nella pagina Connessioni,
individua la connessione appena creata.
Tieni presente che lo Stato del nuovo connettore sarà Autorizzazione richiesta.
- Fai clic su Autorizzazione obbligatoria.
Viene visualizzato il riquadro Modifica autorizzazione.
- Copia il valore URI di reindirizzamento nell'applicazione esterna.
- Verifica i dettagli dell'autorizzazione.
- Fai clic su Autorizza.
Se l'autorizzazione va a buon fine, lo stato della connessione verrà impostato su Attivo nella pagina Connessioni.
Nuova autorizzazione per il codice di autorizzazione
Se utilizzi il tipo di autenticazione Authorization code
e hai apportato modifiche alla configurazione nell'applicazione HTTP di backend, devi autorizzare nuovamente la connessione HTTP. Per autorizzare nuovamente una connessione:
- Fai clic sulla connessione richiesta nella pagina Connessioni.
Viene visualizzata la pagina dei dettagli della connessione.
- Fai clic su Modifica per modificare i dettagli della connessione.
- Verifica i dettagli di OAuth 2.0 - Codice di autorizzazione nella sezione Autenticazione.
Se necessario, apporta le modifiche necessarie.
- Fai clic su Salva. Viene visualizzata la pagina dei dettagli della connessione.
- Fai clic su Modifica autorizzazione nella sezione Autenticazione. Viene visualizzato il riquadro Autorizza.
- Fai clic su Autorizza.
Se l'autorizzazione va a buon fine, lo stato della connessione verrà impostato su Attiva nella pagina Connessioni.
Entità, operazioni e azioni
Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti dell'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti viene mostrata come entità, operazioni e azioni.
- Entità : un'entità può essere considerata un oggetto o una raccolta di proprietà nell'applicazione o nel servizio connesso. La definizione di un'entità varia da un connettore all'altro. Ad esempio, in un connettore di database, le tabelle sono le entità, in un
connettore del file server, le cartelle sono le entità e in un connettore del sistema di messaggistica,
le code sono le entità.
Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco
Entities
sarà vuoto. - Operazione : un'operazione è l'attività che puoi eseguire su un'entità. Puoi eseguire
una delle seguenti operazioni su un'entità:
Selezionando un'entità dall'elenco disponibile, viene generato un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni sulle entità dell'attività Connettori. Tuttavia, se un connettore non supporta alcuna delle operazioni sulle entità, queste operazioni non supportate non sono elencate nell'elenco
Operations
. - Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione
tramite l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e
varia da connettore a connettore. In genere, un'azione ha alcuni parametri di input e un parametro di output. Tuttavia, è possibile
che un connettore non supporti alcuna azione, nel qual caso l'elenco
Actions
sarà vuoto.
Limitazioni di sistema
Il connettore HTTP può elaborare 100 transazioni al secondo, per nodo, e limita qualsiasi transazione oltre questo limite. Per impostazione predefinita, Integration Connectors alloca due nodi (per una migliore disponibilità) per una connessione.
Per informazioni sui limiti applicabili a Integration Connectors, vedi Limiti.
Azioni supportate
Il connettore HTTP supporta le seguenti azioni:
Azione HttpRequest
Il connettore HTTP garantisce almeno un tentativo di invio della richiesta all'endpoint configurato. Ciò è soggetto all'accordo sul livello del servizio (SLA) di Application Integration. Le tabelle seguenti descrivono i parametri di input e output dell'azione HttpRequest.
Parametri di input dell'azione HttpRequest
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
URL | Struct | No | URL per cui vuoi inviare la richiesta.
L'URL ha il formato <scheme>://<netloc>/<path>;<params>?<query>#<fragment> .
Se fornisci netloc , questo sostituisce il nome host fornito durante la creazione della connessione. |
Metodo | Stringa | No | Metodo di richiesta HTTP, ad esempio GET, POST, DELETE o PUT. Il valore predefinito è GET. |
Intestazioni | Struct | No | Intestazioni delle richieste HTTP. |
Corpo | Stringa | No | Corpo della richiesta HTTP. |
RequestHasBytes | Booleano | No | Indica se inviare la richiesta come byte. Se impostato su true , devi inviare la richiesta
come stringa codificata in Base64 nel parametro Body . Il valore predefinito è false . |
ResponseHasBytes | Booleano | No | Indica se ricevere la risposta come byte. Se impostato su true , riceverai la risposta
come stringa con codifica Base64 nel parametro di output ResponseBody . Il valore predefinito è false . |
HttpVersion | Stringa | No | Versione HTTP da utilizzare per effettuare una richiesta. I valori supportati sono 1.1 e 2. Se specifichi la versione 2, viene eseguita la negoziazione ALPN (Application-Layer Protocol Negotiation) e verrà utilizzata la versione 1.1 se il server non supporta la versione 2. Il valore predefinito è 2. |
ResponseFormat | Stringa | No | Specifica il formato della risposta del connettore. I valori supportati sono v1 e v2 .
Il valore predefinito è v1 .
Esempio di risposta v1: [{ "ResponseBody": "{\n \"status\": 200\n}" }, { "StatusCode": 200.0 }, { "HttpVersion": "2" }, { "ResponseHeaders": { ":status": "200", "content-length": "19" } }] Risposta di esempio della v2: [{ "ResponseBody": "{\n \"status\": 200\n}", "StatusCode": 200.0, "HttpVersion": "2", "ResponseHeaders": { ":status": "200", "content-length": "19" } }] |
FailOnError | Booleano | No | Specifica il comportamento della connessione quando si verifica un errore nell'applicazione di backend.
Il valore predefinito è |
Timeout | Numero intero | No | Valore di timeout per la richiesta HTTP in secondi. Il valore massimo consentito è 150 secondi. |
Parametri di output dell'azione HttpRequest
Nome parametro | Tipo di dati | Descrizione |
---|---|---|
ResponseBody | Stringa | Risposta ricevuta dal server HTTP. |
StatusCode | Numero intero | Codice di stato ricevuto dal server HTTP. |
HttpVersion | Stringa | Versione negoziata per la richiesta HTTP. |
ResponseHeaders | Struct | Intestazioni delle risposte HTTP sotto forma di coppie key,value . |
Esempi
Gli esempi in questa sezione descrivono le seguenti operazioni:
- Configura un payload della richiesta
- Byte inviati
- Ottenere contenuti in formato byte
La tabella seguente elenca gli scenari di esempio e la configurazione corrispondente nell'attività Connettori:
Attività | Configurazione |
---|---|
Configura un payload della richiesta |
Questo esempio invia una richiesta POST all'URL |
Byte inviati |
Per inviare contenuti in byte (come i file), devi impostare l'attributo di richiesta
Questo esempio esegue una richiesta POST al server |
Ottenere contenuti in formato byte |
Per ottenere i byte (come stringa Base64) dal server, devi impostare l'attributo di richiesta
Questo esempio invia una richiesta GET al server |
Codici di errore
Questa sezione descrive i messaggi di errore che potresti ricevere quando utilizzi la connessione HTTP.
Messaggio di errore | Causa |
---|---|
Errore di connessione al server HTTP | La connessione HTTP non è riuscita a stabilire una connessione con il server a causa di un errore di handshake SSL o di un endpoint del server HTTP errato. |
Risposta di errore ricevuta dal server HTTP | Il server HTTP a cui stai tentando di connetterti restituisce una risposta di errore con codice di stato 4xx o 5xx. Esempio di risposta:
{ "error": { "code": 400, "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "metadata": { "Body": "{\"thisIsResponseJSON\":\"someValue\"}" "Error": "Error response received from the HTTP server", "Headers": "{\":status\":[\"400\"], \"access-control-allow-credentials\":[\"true\"]}", "StatusCode": "400", "connection_type": "Http" } } ], "message": "Unable to execute HTTP Request", "status": "FAILED_PRECONDITION" } } |
Errore durante il recupero del token di accesso | Si è verificato un errore durante il recupero del token di accesso per il tipo di autenticazione OAuth Client Credentials Grant . |
Errore di autenticazione digest | Il runtime del connettore non ha ricevuto una richiesta di digest o la richiesta è di tipo non supportato. |
Creare connessioni utilizzando Terraform
Puoi utilizzare la risorsa Terraform per creare una nuova connessione.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Per visualizzare un modello Terraform di esempio per la creazione della connessione, consulta Modello di esempio.
Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione Terraform:
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
proxy_enabled | BOOLEANO | Falso | Seleziona questa casella di controllo per configurare un server proxy per la connessione. |
Utilizzare la connessione HTTP in un'integrazione
Una volta creata la connessione, questa diventa disponibile sia in Apigee Integration che in Application Integration. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.
- Per capire come creare e utilizzare l'attività Connettori in Apigee Integration, consulta Attività Connettori.
- Per capire come creare e utilizzare l'attività Connettori in Application Integration, consulta Attività Connettori.
Ricevere assistenza dalla community Google Cloud
Puoi pubblicare le tue domande e discutere di questo connettore nella community di Google Cloud nei forum di Cloud.Passaggi successivi
- Scopri come sospendere e ripristinare una connessione.
- Scopri come monitorare l'utilizzo dei connettori.
- Scopri come visualizzare i log dei connettori.