Apache Kafka

Il connettore Apache Kafka ti 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 client 3.3.1. Tuttavia, il connettore può stabilire la connettività ai cluster Kafka dalle versioni 3.0 a 3.3.1.

Prima di iniziare

Prima di utilizzare il connettore Apache Kafka, svolgi 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 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 eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta Creare un account di servizio.

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

      Per scoprire come attivare i servizi, consulta Abilitazione dei servizi.

    Se questi servizi o autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti verrà chiesto di attivarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore devi creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione distinta per ciascuna. Per creare una connessione:

  1. Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni e 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 posizione 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 della nuova connessione Apache Kafka:
    1. Versione del 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) Attiva Cloud Logging:seleziona questa casella di controllo per archiviare tutti i dati dei log della connessione.
    5. Account di servizio: seleziona un account di servizio con i ruoli IAM richiesti per la connessione ad Apache Kafka.
    6. L'opzione Attiva sottoscrizioni, entità e azioni per l'evento è selezionata per impostazione predefinita per la connessione Apache Kafka.
    7. Schema di rilevamento dei tipi: seleziona MessageOnly.
    8. Registry Service: il servizio Registry Schema utilizzato per lavorare con gli schemi degli argomenti.
    9. Tipo di registry: tipo di schema specificato per un argomento specifico.
    10. Versione del registry: versione dello schema letto da RegistryUrl per l'argomento specificato.
    11. Utente del registry: valore del nome utente o della chiave di accesso da autorizzare con il server specificato in RegistryUrl.
    12. Password del registry: segreto di Secret Manager contenente il valore della chiave della password/del segreto da autorizzare con il server specificato in RegistryUrl.
    13. (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. Per elaborare più transazioni per una connessione sono necessari più nodi e, al contrario, sono necessari meno nodi per elaborare meno transazioni. Per capire in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una maggiore disponibilità) e il numero massimo di nodi è impostato su 50.

    14. Se vuoi, fai clic su + AGGIUNGI ETIQUETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    15. Abilita SSL: questo campo imposta se SSL è attivo.
    16. Fai clic su Avanti.
  5. Nella sezione Destinazioni, inserisci i dettagli del server di bootstrap Kafka 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 Allegato endpoint dall'elenco, quindi seleziona l'allegato endpoint richiesto dall'elenco Allegato endpoint.

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

      Per specificare altri server di bootstrap Kafka, 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 Apache Kafka da utilizzare per la connessione.
        • Password: il segreto Secret Manager contenente la password associata al nome utente di 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.

    2. Fai clic su Avanti.
  7. Inserisci la configurazione dei messaggi non recapitabili. Se configuri la posta in arrivo, 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. Rivedi: controlla i dettagli di connessione e 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 collegata. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione 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 collegato. 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 di file server le cartelle sono le entità e in un connettore di 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 su un'entità una delle seguenti operazioni:

    La selezione di un'entità dall'elenco disponibile genera 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 nessuna delle operazioni sulle entità, queste operazioni non supportate non sono elencate nell'elenco Operations.

  • Azione : un'azione è una funzione di prima classe resa disponibile all'integrazione tramite l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e varia da un connettore all'altro. In genere, 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 del 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 2 nodi (per una maggiore 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 di output dell'azione PublishMessage.

Parametri di input

Nome parametro Obbligatorio Tipo di dati Descrizione
Argomento Stringa Nome dell'argomento in 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 Stringa Il messaggio che vuoi pubblicare. Il messaggio deve essere un JSON concatenato 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 registry dello schema per l'argomento. Se hai specificato il registry dello schema quando crei una connessione, la definizione dello schema dell'argomento del registry viene utilizzata ai fini della convalida. Il valore predefinito per 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 La data e l'ora (timestamp Unix) in cui il messaggio è stato eseguito nella partizione.
KeyWritten Stringa Il valore della chiave del messaggio 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 è riportata una risposta di esempio 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 precedentemente documentati per Apache Kafka. Tieni presente quanto segue quando crei una connessione per Confluent Cloud:

  • La chiave API del cluster Confluent Cloud viene utilizzata come nome utente e il secret di Secret Manager della chiave viene utilizzato come password per collegarsi 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 registry dello schema, configura i seguenti valori:
    • Nella sezione Connection Details:
      • Versione del registry: inserisci il numero di versione del registry. Se vuoi utilizzare la versione più recente, inserisci latest.
      • Utente del registry: inserisci la chiave API del registry dello schema. Se non ne hai già una, devi creare una chiave API del registry schema.
      • Password del registry: inserisci il segreto di Secret Manager della password del registry.
      • Versione del secret : seleziona il numero di versione del secret.
      • Tipo di registry: seleziona Confluent.
      • Schema di rilevamento dei tipi: seleziona MessageOnly
    • Nella sezione Destinations, inserisci l'URL del registry nel campo del nome host.

    Utilizzare Terraform per creare connessioni

    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 di una connessione, consulta il 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 letta da RegistryUrl per l'argomento specificato. I valori validi per la versione del registry sono compresi tra [1,2^31-1] o la stringa "latest", che restituisce l'ultimo schema registrato.
    registry_user STRING Falso Nome utente da autorizzare con il server specificato in RegistryUrl .
    registry_password SEGRETO Falso Secret Manager Secret contenente il valore della password/chiave segreta da autorizzare con il server specificato in RegistryUrl.
    usessl BOOLEANO Falso Questo campo imposta se SSL è abilitato.

    Utilizzare la connessione Apache Kafka in un'integrazione

    Una volta creata, la connessione diventa disponibile sia nell'integrazione Apigee sia nell'integrazione delle applicazioni. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.

    • Per informazioni su come creare e utilizzare l'attività Connectors in Apigee Integration, consulta Attività Connectors.
    • Per informazioni su 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 ai forum di Cloud.

    Passaggi successivi