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 dato cluster Kafka e il connettore funziona con il client versione 3.3.1. 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 queste attività:

  • Nel tuo progetto Google Cloud:
    • Concedi il ruolo IAM roles/connectors.admin all'utente. configurazione del 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 una persona non umana utente che deve autenticarsi e avere l'autorizzazione ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni le informazioni, vedi Creazione di un account di servizio.

    • Attiva 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 chiesto di abilitarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore è necessario creare una connessione al tuo origine dati (sistema di backend). Una connessione è specifica per un'origine dati. it significa che se hai molte origini dati, devi creare una connessione separata per ogni origine dati. Per creare una connessione:

  1. Nella console Cloud, vai a Connettori di integrazione > Pagina Connessioni e poi selezionare o creare un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
  3. Nel passaggio Posizione, 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/della 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, per elaborare meno transazioni. Per comprendere 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 migliore disponibilità) e il numero massimo di nodi è 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 Allegato endpoint.

      Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valuta la possibilità di configurare una rete statico in uscita indirizzi IP per le tue connessioni, quindi configura le regole del firewall per 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 l'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 un oggetto o un insieme di proprietà nel un'applicazione o un servizio connesso. La definizione di un'entità differisce da connettore di rete. Ad esempio, in un connettore di database, le tabelle sono le entità, connettore 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 disponga di entità. In questo caso, L'elenco Entities sarà vuoto.

  • Operazione: un'operazione è l'attività che è possibile eseguire su un'entità. Puoi eseguire una qualsiasi 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 operazioni di entity. Tuttavia, se un connettore non supporta nessuna delle operazioni relative all'entità, come quelle non supportate operazioni non sono elencate nell'elenco Operations.

  • Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione. attraverso l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità variano da connettore a connettore. Normalmente, un'azione ha alcuni parametri di input e un output . Tuttavia, è possibile che un connettore non supporta alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Limitazioni di sistema

Il connettore Apache Kafka può elaborare al massimo 50 transazioni al secondo. per nodo, e limita qualsiasi 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 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 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 per l'argomento in questione. Se non imposti questo valore, viene impostato automaticamente dal client nativo.
Chiave No Stringa La chiave del messaggio.
Messaggio Stringa Il messaggio da pubblicare. Il messaggio deve essere in formato JSON in formato stringa la dimensione massima supportata per i messaggi è 10 MB.
HasBytes No Booleano Specifica se il messaggio è in formato binario.
MessageBytes No Stringa Il messaggio sotto forma di stringa codificata Base64.
Convalida No Booleano Specifica se il messaggio da pubblicare deve essere convalidato in base allo schema del messaggio definita nel registro di schema per l'argomento. Se hai specificato il registro di schema creando una connessione, la definizione dello schema dell'argomento dal registry viene utilizzata per lo scopo 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 è stato eseguito il commit del messaggio nella partizione.
KeyWritten Stringa Il valore della chiave del messaggio che è stata scritta. Il valore è NULL se non è stata fornita alcuna chiave di messaggio quando scrivi il messaggio.
Operazione riuscita 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 si crea una connessione per Confluent Cloud:

  • La chiave API del cluster Confluent Cloud è utilizzata come nome utente e il secret di Secret Manager della chiave viene utilizzato come password la connessione ai server di bootstrap. Devi creare una chiave API in Confluent Cloud se non l'hai già fatto.
  • Seleziona Usa SSL nella sezione Connection Details.
  • Se utilizzi il registro di schema, configura i seguenti valori:
    • Nella sezione Connection Details:
      • Versione del Registro di sistema: inserisci il numero di versione del registry. Se vuoi utilizzare la versione più recente versione, inserisci latest.
      • Utente del Registro di sistema : inserisci la chiave API del registry dello schema. Devi creare un registro di schema chiave API, se non l'hai già fatto.
      • Password del Registro di sistema: inserisci il secret di Secret Manager della password del registry.
      • Versione secret: seleziona il numero di versione del secret.
      • Tipo di registro: seleziona Confluent.
      • Schema di rilevamento del tipo : seleziona MessageOnly.
    • Nella sezione Destinations, inserisci l'URL del registry nel campo del nome host.

    Utilizzare Terraform per creare connessioni

    Puoi utilizzare il comando Terraform risorsa 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 connessioni, vedi il modello di esempio.

    Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione di 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 STRINGA Falso Versione dello schema letta da RegistryUrl per l'argomento specificato. I valori validi per la versione del Registro di sistema sono compresi tra [1,2^31-1] o la stringa "latest", che restituisce l'ultimo schema registrato.
    registry_user STRINGA Falso Nome utente da autorizzare con il server specificato in RegistryUrl .
    registry_password SECRET Falso Secret di Secret Manager contenente il valore della password/della chiave segreta da autorizzare con il server specificato in RegistryUrl.
    usessl BOOLEANO Falso Questo campo consente di impostare se SSL è abilitato.

    Usa la connessione Apache Kafka in un'integrazione

    Dopo aver creato la connessione, questa diventa disponibile in Apigee Integration e Application Integration. Puoi usare la connessione in un'integrazione tramite l'attività Connettori.

    • Per capire come creare e utilizzare l'attività Connectors in Apigee Integration, vedi Attività connettori.
    • Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.

    Ricevi assistenza dalla community Google Cloud

    Puoi pubblicare le tue domande e discutere di questo connettore in Google Cloud nei forum di Cloud.

    Passaggi successivi