Apache Kafka
Utilizza il connettore Kafka per l'integrazione con Apache Kafka e pubblica messaggi in argomenti specifici. Il connettore Kafka supporta anche la sottoscrizione di eventi, che consente la creazione di trigger quando i messaggi vengono ricevuti in un argomento.
Versioni supportate
Il connettore Apache Kafka utilizza le librerie client native per stabilire una connessione a un determinato cluster Kafka e funziona con la versione 3.3.1 del client. Tuttavia, il connettore può stabilire la connettività ai cluster Kafka dalle versioni 3.0 alla 3.3.1.
Prima di iniziare
Prima di utilizzare il connettore Apache Kafka, esegui le seguenti operazioni:
- 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.
- Nel passaggio Posizione, scegli la posizione per la nuova connessione Apache Kafka:
- Regione:seleziona una regione dall'elenco.
- Fai clic su Avanti.
- Nel passaggio Dettagli della connessione, fornisci i dettagli della nuova connessione Apache Kafka:
- Versione del connettore:scegli una versione disponibile del connettore Apache Kafka dall'elenco.
- Nome connessione:inserisci un nome per la connessione Apache Kafka.
- (Facoltativo) Descrizione : inserisci una descrizione per la connessione.
- (Facoltativo) Attiva Cloud Logging:seleziona questa casella di controllo per archiviare tutti i dati di log della connessione.
- Service account: seleziona un account di servizio con i ruoli IAM richiesti per la connessione Apache Kafka.
- L'opzione Abilita sottoscrizioni, entità e azioni per l'evento è selezionata per impostazione predefinita per la connessione Apache Kafka.
- Type Detection Scheme (Schema di rilevamento del tipo) : seleziona
MessageOnly
. - Servizio di registro: il servizio Schema Registry utilizzato per lavorare con gli schemi degli argomenti.
- Tipo di registro: tipo di schema specificato per un argomento specifico.
-
Registry Version: versione dello schema letto da
RegistryUrl
per l'argomento specificato. -
Utente del registro: valore del nome utente o della chiave di accesso per l'autorizzazione con il server specificato in
RegistryUrl
. -
Password del registro: secret di Secret Manager contenente il valore della password/chiave segreta per l'autorizzazione con il server specificato in
RegistryUrl
. - (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.
- (Facoltativo) Fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave-valore.
- Abilita SSL: questo campo imposta se SSL è abilitato.
- Fai clic su Avanti.
- Nella sezione Destinazioni, inserisci i dettagli del server di bootstrap Kafka 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 specificare altri server di bootstrap Kafka, 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 Apache Kafka supporta i seguenti tipi di autenticazione:
-
Nome utente e password
- Nome utente: il nome utente Apache Kafka da utilizzare per la connessione.
- Password: secret di Secret Manager contenente la password associata al nome utente Apache Kafka.
- Schema di autenticazione: lo schema utilizzato per l'autenticazione.
La connessione Apache Kafka supporta i seguenti schemi di autenticazione:
- Semplice
- SCRAM-SHA-1
- SCRAM-SHA-256
-
Non disponibile
Se vuoi utilizzare l'accesso anonimo, seleziona Non disponibile.
-
Nome utente e password
- Fai clic su Avanti.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- 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.
- Fai clic su Avanti.
- Rivedi: rivedi i dettagli di connessione e autenticazione.
- Fai clic su Crea.
Limitazioni di sistema
Il connettore Apache Kafka può elaborare un massimo di 50 transazioni al secondo, per nodo, e limita le transazioni che superano 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
Azione PublishMessage
Questa azione pubblica un messaggio in un argomento Apache Kafka. Le tabelle seguenti descrivono i parametri di input e output dell'azione PublishMessage
.
Parametri di input
Nome parametro | Obbligatorio | Tipo di dati | Descrizione |
---|---|---|---|
Argomento | Sì | Stringa | Nome dell'argomento a cui vuoi pubblicare il messaggio. |
Partition | No | Stringa | La partizione a cui è assegnato il messaggio. Il valore deve essere valido per l'argomento specificato. Se non imposti questo valore, viene impostato automaticamente dal client nativo. |
Chiave | No | Stringa | La chiave del messaggio. |
Messaggio | Sì | Stringa | Il messaggio che vuoi pubblicare. Il messaggio deve essere una stringa JSON e la dimensione massima supportata è di 10 MB. |
HasBytes | No | Booleano | Specifica se il messaggio è in formato binario. |
MessageBytes | No | Stringa | Il messaggio sotto forma di stringa con codifica Base64. |
Convalida | No | Booleano | Specifica se il messaggio da pubblicare deve essere convalidato in base allo schema del messaggio
definito nel registro di schema per l'argomento. Se hai specificato il registro degli schemi durante la creazione di una connessione, la definizione dello schema dell'argomento dal registro viene utilizzata ai fini della convalida. Il valore predefinito di questo campo è false . |
Parametri di output
Nome parametro | Tipo di dati | Descrizione |
---|---|---|
PartitionWritten | Numero intero | La partizione in cui è stato scritto il messaggio. |
OffsetWritten | Lungo | La posizione nella partizione in cui è stato scritto il messaggio. |
TimestampWritten | Lungo | L'ora (timestamp Unix) in cui il messaggio è stato inviato alla partizione. |
KeyWritten | Stringa | Il valore della chiave del messaggio che è stata scritta. Il valore è NULL se non è stata fornita alcuna chiave del messaggio durante la scrittura del messaggio. |
Operazione riuscita | Booleano | Specifica se il messaggio è stato pubblicato. |
Di seguito è riportato un esempio di risposta dell'azione PublishMessage
:
{Success: true, PartitionWritten: 1, OffsetWritten: 22301, KeyWritten: "dGVzdA==", TimestampWritten: 1690806748}
Configurazione per Confluent Cloud
La configurazione di Confluent Cloud è leggermente diversa rispetto ai passaggi documentati in precedenza per Apache Kafka. Tieni presente i seguenti punti quando crei una connessione per Confluent Cloud:
- La chiave API del cluster Confluent Cloud viene utilizzata come nome utente e il secret Secret Manager della chiave viene utilizzato come password per connettersi ai server di bootstrap. Se non ne hai già una, devi creare una chiave API in Confluent Cloud.
- Seleziona Usa SSL nella sezione
Connection Details
. - Se utilizzi il registro dello schema, configura i seguenti valori:
- Nella sezione
Connection Details
:- Versione registro : inserisci il numero di versione del registro. Se vuoi utilizzare l'ultima
versione, inserisci
latest
. - Utente del registro: inserisci la chiave API del registro dello schema. Se non ne hai già una, devi creare una chiave API del registro di schema.
- Password del registro : inserisci il segreto di Secret Manager della password del registro.
- Versione del secret: seleziona il numero di versione del secret.
- Tipo di registry : seleziona
Confluent
. - Type Detection Scheme (Schema di rilevamento del tipo) : seleziona
MessageOnly
- Versione registro : inserisci il numero di versione del registro. Se vuoi utilizzare l'ultima
versione, inserisci
- Nella sezione
Destinations
, inserisci l'URL del registro nel campo del nome host.
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 type_detection_scheme ENUM Vero Lo schema utilizzato per l'autenticazione con il broker Apache Kafka. I valori supportati sono: MessageOnly registry_service ENUM Falso Il servizio Schema Registry utilizzato per lavorare con gli schemi degli argomenti. I valori supportati sono: Confluent registry_type ENUM Falso Tipo di schema specificato per un argomento specifico. I valori supportati sono: AVRO, JSON registry_version STRING Falso Versione dello schema letto da RegistryUrl per l'argomento specificato. I valori validi per la versione del registro sono compresi tra [1,2^31-1] o la stringa "latest", che restituisce l'ultimo schema registrato. registry_user STRING Falso Nome utente per l'autorizzazione con il server specificato in RegistryUrl . registry_password SECRET Falso Secret di Secret Manager contenente il valore della password/chiave segreta per l'autorizzazione con il server specificato in RegistryUrl. usessl BOOLEANO Falso Questo campo indica se SSL è abilitato. Utilizzare la connessione Apache Kafka 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.
- Nella sezione