Apache Kafka

Il connettore Apache Kafka consente di eseguire operazioni di inserimento, eliminazione, aggiornamento e lettura sul database Apache Kafka.

Versioni supportate

Il connettore Apache Kafka sfrutta le librerie client native per stabilire una connessione a un determinato cluster Kafka e funziona con la versione del client 3.3.1. Tuttavia, il connettore può stabilire la connettività ai cluster Kafka dalle versioni dalla 3.0 alla 3.3.1.

Prima di iniziare

Prima di utilizzare il connettore Apache Kafka, esegui queste attività:

  • Nel tuo progetto Google Cloud:
    • Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
    • Concedi i seguenti ruoli IAM all'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 autenticarsi ed essere autorizzato ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta la pagina Creazione di un account di servizio.

    • Abilita i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Per informazioni su come abilitare i servizi, vedi Attivazione dei servizi.

    Se questi servizi o autorizzazioni non sono stati abilitati in precedenza per il tuo progetto, ti viene richiesto di abilitarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore è necessario creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Se disponi di molte origini dati, devi creare una connessione separata per ciascuna. Per creare una connessione:

  1. Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
  3. Nel passaggio Località, scegli la località per la nuova connessione Apache Kafka:
    1. Regione:seleziona una regione dall'elenco.
    2. Fai clic su Avanti.
  4. Nel passaggio Dettagli connessione, fornisci i dettagli sulla nuova connessione Apache Kafka:
    1. Versione connettore: scegli una versione disponibile del connettore Apache Kafka dall'elenco.
    2. Nome connessione: inserisci un nome per la connessione Apache Kafka.
    3. (Facoltativo) Descrizione : inserisci una descrizione per la connessione.
    4. (Facoltativo) Abilita Cloud Logging: seleziona questa casella di controllo per archiviare tutti i dati di log della connessione.
    5. Account di servizio: seleziona un account di servizio con i ruoli IAM richiesti per la connessione Apache Kafka.
    6. L'opzione Abilita sottoscrizione agli eventi, entità e azioni è selezionata per impostazione predefinita per la connessione Apache Kafka.
    7. Schema di rilevamento del tipo : seleziona MessageOnly.
    8. Servizio di registro di sistema: il servizio di registro degli schemi utilizzato per lavorare con gli schemi degli argomenti.
    9. Tipo di registro: il tipo di schema specificato per un argomento specifico.
    10. Versione del Registro di sistema: versione dello schema letta da RegistryUrl per l'argomento specificato.
    11. Utente di registro: il valore del nome utente o della chiave di accesso da autorizzare con il server specificato in RegistryUrl.
    12. Password del Registro di sistema: secret di Secret Manager contenente il valore della password/chiave segreta da autorizzare con il server specificato in RegistryUrl.
    13. Facoltativamente, 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, al contrario, sono necessari meno nodi per elaborare un numero inferiore di transazioni. Per capire in che modo i nodi influiscono sui prezzi del connettore, consulta Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi viene impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi viene impostato su 50.

    14. Facoltativamente, fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave-valore.
    15. Abilita SSL: questo campo consente di impostare se SSL è abilitato.
    16. Fai clic su Avanti.
  5. Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
    1. Tipo di destinazione: seleziona un Tipo di destinazione.
      • Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
      • Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Collegamento endpoint dall'elenco, quindi seleziona il collegamento dell'endpoint richiesto dall'elenco Collegamento endpoint.

      Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi considerare di configurare indirizzi IP in uscita statici per le tue connessioni e quindi configurare le regole del firewall in modo da inserire nella lista consentita solo gli indirizzi IP statici specifici.

      Per inserire altre destinazioni, fai clic su +AGGIUNGI DESTINAZIONE.

    2. Fai clic su Avanti.
  6. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. 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 di Apache Kafka da utilizzare per la connessione.
        • Password: il secret di Secret Manager contenente la password associata al nome utente di Apache Kafka.
        • Schema di autenticazione: lo schema utilizzato per l'autenticazione.

          I seguenti schemi di autenticazione sono supportati dalla connessione Apache Kafka:

          • Normale
          • SCRAM-SHA-1
          • SCRAM-SHA-256
      • Non disponibile

        Se vuoi utilizzare l'accesso anonimo, seleziona Non disponibile.

    2. Fai clic su Avanti.
  7. Inserisci la configurazione dei messaggi non recapitabili. Se configuri i messaggi non recapitabili, la connessione scrive gli eventi non elaborati nell'argomento Pub/Sub specificato. Inserisci i seguenti dettagli:
    1. ID progetto messaggi non recapitabili: l'ID progetto Google Cloud in cui hai configurato l'argomento Pub/Sub messaggi non recapitabili.
    2. Argomento messaggi non recapitabili : l'argomento Pub/Sub in cui vuoi scrivere i dettagli dell'evento non elaborato.
  8. Fai clic su Avanti.
  9. Verifica: controlla i dettagli della connessione e dell'autenticazione.
  10. Fai clic su Crea.

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 esposta sotto forma di entità, operazioni e azioni.

  • Entità: un'entità può essere considerata come un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità è diversa da un connettore a un connettore. Ad esempio, in un connettore di database le tabelle sono le entità, in un connettore file server le cartelle sono le entità, mentre in un connettore di sistema di messaggistica le code sono le entità.

    Tuttavia, è possibile che un connettore non supporti o non abbia entità. In questo caso, l'elenco Entities sarà vuoto.

  • Operazione: un'operazione è l'attività che è possibile eseguire su un'entità. Su un'entità puoi eseguire una qualsiasi delle seguenti operazioni:

    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 sull'entità dell'attività Connectors. Tuttavia, se un connettore non supporta nessuna delle operazioni relative alle entità, le operazioni non supportate non saranno elencate nell'elenco Operations.

  • Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione tramite l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità e variare da connettore a connettore. Normalmente, un'azione avrà 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 Apache Kafka può elaborare un massimo di 50 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

Azione publishMessage

Questa azione pubblica un messaggio in un argomento di Apache Kafka. Le seguenti tabelle descrivono i parametri di input e di output dell'azione PublishMessage.

Parametri di input

Nome parametro Obbligatorio Tipo di dati Descrizione
Argomento String Nome dell'argomento in cui vuoi pubblicare il messaggio.
Partition No String 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 String La chiave del messaggio.
Messaggio String Il messaggio da pubblicare. Il messaggio deve essere in formato JSON stringato e la dimensione massima supportata per i messaggi è 10 MB.
HasBytes No Booleano Specifica se il messaggio è in formato binario.
MessageBytes No String Il messaggio sotto forma di stringa codificata Base64.
Convalida No Booleano Specifica se il messaggio da pubblicare deve essere convalidato in base allo schema dei messaggi definito nel registro di schemi per l'argomento. Se hai specificato il registro di schema durante la creazione di una connessione, la definizione dello schema dell'argomento nel registro viene utilizzata ai fini della convalida. Il valore predefinito di questo campo è false.

Parametri di output

Nome parametro Tipo di dati Descrizione
PartitionWritten Integer 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 è stato eseguito il commit del messaggio nella partizione.
KeyWritten String 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.
Riuscito Booleano Specifica se il messaggio è stato pubblicato.

Ecco un esempio di risposta dell'azione PublishMessage:

{Success: true,
PartitionWritten: 1,
OffsetWritten: 22301,
KeyWritten: "dGVzdA==",
TimestampWritten: 1690806748}

Configurazione per Confluent Cloud

La configurazione per Confluent Cloud è leggermente diversa dai passaggi documentati in precedenza per Apache Kafka. Considera i seguenti punti quando crei una connessione per Confluent Cloud: