Rabbit MQ
Il connettore RabbitMQ fornisce connettività a RabbitMQ.
Prima di iniziare
Prima di utilizzare il connettore Rabbit MQ, 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 NUOVA 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 RabbitMQ 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.
- Per i connettori che supportano la sottoscrizione agli eventi, i nomi delle connessioni non possono iniziare con il prefisso "goog".
- (Facoltativo) Inserisci una Descrizione per l'istanza di connessione.
- Service Account: seleziona un account di servizio con i ruoli richiesti.
- Per utilizzare la connessione per le sottoscrizioni agli eventi, seleziona Abilita sottoscrizione agli eventi. Se selezioni questa opzione, la sottoscrizione all'evento viene abilitata con le azioni.
- (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.
- Nome coda predefinita: il nome della coda predefinita, può essere sostituito durante l'esecuzione dell'azione.
- Host virtuale: l'host virtuale per RabbitMQ.
- (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 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.
- 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 RabbitMQ supporta i seguenti tipi di autenticazione:
- Anonimo
- Nome utente e password
- 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.
- Nella sezione Dettagli abbonamento agli eventi, configura i dettagli relativi all'evento.
- Inserisci la configurazione della coda di messaggi non recapitabili. Se configuri la coda dei messaggi non recapitabili, la connessione scrive
gli eventi non elaborati nell'argomento Pub/Sub specificato. Inserisci i seguenti dettagli:
- ID progetto messaggi non recapitabili : l'ID progetto Google Cloud in cui hai configurato l'argomento Pub/Sub messaggi non recapitabili.
- Argomento messaggi non recapitabili : l'argomento Pub/Sub in cui vuoi scrivere i dettagli dell'evento non elaborato.
- Inserisci la configurazione della coda di messaggi non recapitabili. Se configuri la coda dei messaggi non recapitabili, la connessione scrive
gli eventi non elaborati nell'argomento Pub/Sub specificato. Inserisci i seguenti dettagli:
- 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.
-
Anonimo
Se vuoi utilizzare l'accesso anonimo, seleziona Non disponibile.
-
Nome utente e password
- Nome utente: il nome utente RabbitMQ da utilizzare per la connessione.
- Password: secret di Secret Manager contenente la password associata al nome utente RabbitMQ.
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 RabbitMQ può elaborare il seguente numero di transazioni al secondo, per nodo e limita le transazioni che superano questo limite:
- Massimo 9 transazioni se utilizzi principalmente l'azione
sendMessage
. - 1 transazione, se utilizzi prevalentemente l'azione
requestReply
.
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
La connessione RabbitMQ supporta le seguenti azioni:
- sendMessage: invia un messaggio a una coda.
- requestReply: invia un messaggio a una coda e specifica anche la coda di risposta in cui il risponditore deve scrivere la risposta.
Azione sendMessage
Le tabelle seguenti descrivono i parametri di input e output dell'azione sendMessage.
Parametri di input dell'azione sendMessage
Nome parametro | Obbligatorio | Tipo di dati | Descrizione |
---|---|---|---|
messaggio | Sì | Stringa | Messaggio da inviare alla coda Rabbit MQ. Al momento, la dimensione massima supportata per i messaggi è di 10 MB. |
queueName | No | Stringa | Nome della coda RabbitMQ. Se non specifichi un nome della coda, viene utilizzato il nome della coda predefinito specificato durante la creazione della connessione. |
messageContentType | Sì | Stringa | Tipo di contenuti del messaggio che puoi specificare come
Text o Bytes . Devi impostare il tipo
su Bytes se invii dati binari.
Per inviare un messaggio in formato binario, devi svolgere le seguenti attività:
|
messageType | Sì | Stringa | Tipo di messaggio che puoi specificare come Datagram
o Reply . |
topicName | No | Stringa | Nome dell'argomento RabbitMQ. Se non specifichi un nome dell'argomento, viene utilizzato il nome della coda predefinito specificato durante la creazione della connessione. |
Parametri di output dell'azione sendMessage
Nome parametro | Tipo di dati | Descrizione |
---|---|---|
messageId | Stringa | ID del messaggio inviato. |
Azione requestReply
Le tabelle seguenti descrivono i parametri di input e output dell'azione requestReply.
Parametri di input dell'azione requestReply
Nome parametro | Obbligatorio | Tipo di dati | Descrizione |
---|---|---|---|
messaggio | Sì | Stringa | Messaggio da inviare alla coda Rabbit MQ. La dimensione massima supportata per i messaggi è di 10 MB. |
queueName | No | Stringa | Nome della coda RabbitMQ. Se non specifichi un nome della coda, viene utilizzato il nome della coda predefinito specificato durante la creazione della connessione. |
messageContentType | Sì | Stringa | Tipo di contenuti del messaggio che puoi specificare come
Text o Bytes . Devi impostare il tipo
su Bytes se invii dati binari.
Per inviare un messaggio in formato binario, devi svolgere le seguenti attività:
|
replyToQueue | Sì | Stringa | Coda su cui il risponditore deve scrivere la risposta. |
replyTimeout | Sì | Stringa | Tempo (in millisecondi) fino al quale il connettore attende la risposta nella coda delle risposte.
Il valore massimo supportato è 180.000 millisecondi (3 minuti).
Se la coda di risposta riceve un messaggio dopo il periodo di timeout, questo non viene elaborato dal connettore. Tuttavia, puoi visualizzare i dettagli del messaggio scaduto nei log di esecuzione dell'integrazione. |
Parametri di output dell'azione requestReply
Nome parametro | Tipo di dati | Descrizione |
---|---|---|
replyMessage | Stringa | Messaggio di risposta del risponditore. |
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 |
---|---|---|---|
default_queue_name | STRING | Falso | Il nome della coda predefinita, può essere sostituito durante l'esecuzione dell'azione. |
default_topic_name | STRING | Falso | Il nome dell'argomento predefinito, che può essere sostituito durante l'esecuzione dell'azione. |
virtual_host | STRING | Vero | L'host virtuale per RabbitMQ. |
Utilizzare la connessione Rabbit MQ 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.