Apache Kafka
Utilisez le connecteur Kafka pour l'intégration à Apache Kafka et publiez des messages dans des sujets spécifiques. Le connecteur Kafka est également compatible avec l'abonnement aux événements, ce qui permet de créer des déclencheurs lorsque des messages sont reçus dans un sujet.
Versions compatibles
Le connecteur Apache Kafka utilise les bibliothèques clientes natives pour établir une connexion à un cluster Kafka donné. Il fonctionne avec la version cliente 3.3.1. Toutefois, le connecteur peut établir une connectivité avec les clusters Kafka des versions 3.0 à 3.3.1.
Avant de commencer
Avant d'utiliser le connecteur Apache Kafka, effectuez les tâches suivantes :
- Dans votre projet Google Cloud :
- Assurez-vous que la connectivité réseau est configurée. Pour en savoir plus sur les schémas de réseau, consultez Connectivité réseau.
- Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
- Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Un compte de service est un type spécial de compte Google destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour en savoir plus, consultez Créer un compte de service.
- Activez les services suivants :
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Pour savoir comment activer des services, consultez Activer des services.
Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer au moment de configurer le connecteur.
Configurer le connecteur
Une connexion est propre à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :
- Dans la console Cloud, accédez à la page Connecteurs d'intégration > Connexions, puis sélectionnez ou créez un projet Google Cloud.
- Cliquez sur + CRÉER pour ouvrir la page Créer une connexion.
- Dans la section Emplacement, choisissez l'emplacement de la nouvelle connexion Apache Kafka :
- Région : sélectionnez une région dans la liste.
- Cliquez sur Suivant.
- À l'étape Détails de connexion, fournissez les informations suivantes sur la nouvelle connexion Apache Kafka :
- Version du connecteur : sélectionnez une version disponible du connecteur Apache Kafka dans la liste.
- Nom de connexion : saisissez un nom pour la connexion Apache Kafka.
- (Facultatif) Description : saisissez une description de la connexion.
- (Facultatif) Activer Cloud Logging : cochez cette case pour stocker toutes les données de journal de la connexion.
- Compte de service : sélectionnez un compte de service disposant des rôles IAM requis pour la connexion Apache Kafka.
- L'option Activer l'abonnement aux événements, l'entité et les actions est sélectionnée par défaut pour la connexion Apache Kafka.
- Schéma de détection de type : sélectionnez
MessageOnly
. - Service de registre : service de registre de schéma utilisé pour travailler avec des schémas de sujet.
- Type de registre : type de schéma spécifié pour un sujet spécifique.
-
Version du registre : version du schéma lu à partir de
RegistryUrl
pour le sujet spécifié. -
Utilisateur du registre : valeur du nom d'utilisateur ou de la clé d'accès à autoriser auprès du serveur spécifié dans
RegistryUrl
. -
Mot de passe du registre : secret Secret Manager contenant le mot de passe/la valeur de la clé du secret à autoriser auprès du serveur spécifié dans
RegistryUrl
. - (Facultatif) Configurez les paramètres de nœuds de connexion :
- Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
- Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.
Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter davantage de transactions pour une connexion, vous devez disposer de plus de nœuds. À l'inverse, moins de nœuds sont nécessaires si une connexion traite moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour améliorer la disponibilité) et le nombre maximal de nœuds sur 50.
- Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
- Activer SSL : ce champ indique si SSL est activé.
- Cliquez sur Suivant.
- Dans la section Destinations, saisissez les informations concernant le serveur d'amorçage Kafka auquel vous souhaitez vous connecter.
- Type de destination : sélectionnez un type de destination.
- Pour spécifier le nom d'hôte ou l'adresse IP de la destination, sélectionnez Adresse de l'hôte, puis saisissez l'adresse dans le champ Hôte 1.
- Pour établir une connexion privée, sélectionnez Rattachement de point de terminaison, puis choisissez le rattachement requis dans la liste Rattachement de point de terminaison.
Si vous souhaitez établir une connexion publique à vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis de configurer vos règles de pare-feu pour ajouter à la liste d'autorisation uniquement les adresses IP statiques spécifiques.
Pour spécifier d'autres serveurs d'amorçage Kafka, cliquez sur + AJOUTER UNE DESTINATION.
- Cliquez sur Suivant.
- Type de destination : sélectionnez un type de destination.
-
Dans la section Authentification, saisissez les informations d'authentification.
- Sélectionnez un type d'authentification, puis saisissez les informations appropriées.
Les types d'authentification suivants sont compatibles avec la connexion Apache Kafka :
-
Nom d'utilisateur et mot de passe
- Nom d'utilisateur : nom d'utilisateur Apache Kafka à utiliser pour la connexion.
- Mot de passe : secret Secret Manager contenant le mot de passe associé au nom d'utilisateur Apache Kafka.
- Schéma d'authentification : schéma utilisé pour l'authentification
Les schémas d'authentification suivants sont compatibles avec la connexion Apache Kafka :
- Simple
- SCRAM-SHA-1
- SCRAM-SHA-256
-
Non disponible
Si vous souhaitez utiliser la connexion anonyme, sélectionnez Non disponible.
-
Nom d'utilisateur et mot de passe
- Cliquez sur Suivant.
- Sélectionnez un type d'authentification, puis saisissez les informations appropriées.
- Saisissez la configuration de lettres mortes. Si vous configurez les lettres mortes, la connexion écrit les événements non traités dans le sujet Pub/Sub spécifié. Saisissez les informations suivantes :
- ID du projet de lettres mortes : ID du projet Google Cloud dans lequel vous avez configuré la file d'attente Pub/Sub de lettres mortes.
- File d'attente de lettres mortes : sujet Pub/Sub dans lequel vous souhaitez écrire les détails des événements non traités.
- Cliquez sur Suivant.
- Vérifier : vérifiez vos informations de connexion et d'authentification.
- Cliquez sur Créer.
Limites du système
Le connecteur Apache Kafka peut traiter au maximum 50 transactions par seconde et par nœud, et limite les transactions au-delà de ce seuil. Par défaut, Integration Connectors alloue deux nœuds (pour améliorer la disponibilité) à une connexion.
Pour en savoir plus sur les limites applicables à Integration Connectors, consultez Limites.
Actions
Action PublishMessage
Cette action publie un message dans un sujet Apache Kafka. Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action PublishMessage
.
Paramètres d'entrée
Nom du paramètre | Obligatoire | Type de données | Description |
---|---|---|---|
Sujet | Yes | String | Nom du sujet dans lequel vous souhaitez publier le message. |
Partition | Non | Chaîne | Partition à laquelle le message est attribué. La valeur doit être valide pour le thème donné. Si vous ne définissez pas cette valeur, elle est automatiquement définie par le client natif. |
Clé | Non | Chaîne | Clé du message. |
Message | Yes | STRING | Message que vous souhaitez publier. Le message doit être un fichier JSON concaténé et la taille maximale du message est de 10 Mo. |
HasBytes | Non | Booléen | Indique si le message est au format binaire. |
MessageBytes | Non | Chaîne | Message sous forme de chaîne encodée en base64. |
Valider | Non | Booléen | Spécifie si le message à publier doit être validé par rapport au schéma de message défini dans le registre de schéma du sujet. Si vous avez spécifié le registre de schéma lors de la création d'une connexion, la définition de schéma du sujet dans le registre est utilisée à des fins de validation. La valeur par défaut de ce champ est false . |
Paramètres de sortie
Nom du paramètre | Type de données | Description |
---|---|---|
PartitionWritten | Integer | Partition dans laquelle le message a été écrit. |
OffsetWritten | Long | Position dans la partition dans laquelle le message a été écrit. |
TimestampWritten | Long | Heure (code temporel Unix) à laquelle le message a été validé dans la partition. |
KeyWritten | Chaîne | Valeur de la clé du message qui a été écrit. La valeur est NULL si aucune clé de message n'a été fournie lors de l'écriture du message. |
Opération réussie | Booléen | Indique si le message a été publié. |
Voici un exemple de réponse à l'action PublishMessage
:
{Success: true, PartitionWritten: 1, OffsetWritten: 22301, KeyWritten: "dGVzdA==", TimestampWritten: 1690806748}
Configuration pour Confluent Cloud
La configuration pour Confluent Cloud diffère légèrement de celle décrite précédemment pour Apache Kafka. Tenez compte des points suivants lorsque vous créez une connexion pour Confluent Cloud :
- La clé API du cluster Confluent Cloud est utilisée comme nom d'utilisateur, et le secret Secret Manager de la clé est utilisé comme mot de passe pour se connecter aux serveurs d'amorçage. Vous devez créer une clé API dans Confluent Cloud si vous n'en avez pas déjà une.
- Sélectionnez Utiliser SSL dans la section
Connection Details
. - Si vous utilisez Container Registry, configurez les valeurs suivantes :
- Dans la section
Connection Details
:- Version du registre : saisissez le numéro de version du registre. Si vous souhaitez utiliser la dernière version, saisissez
latest
. - Utilisateur du registre : saisissez la clé API du registre de schéma. Vous devez créer une clé API de registre de schéma si vous n'en avez pas déjà une.
- Mot de passe du registre : saisissez le secret Secret Manager du mot de passe du registre.
- Version du secret : sélectionnez le numéro de version du secret.
- Type de registre : sélectionnez
Confluent
. - Schéma de détection de type : sélectionnez
MessageOnly
.
- Version du registre : saisissez le numéro de version du registre. Si vous souhaitez utiliser la dernière version, saisissez
- Dans la section
Destinations
, saisissez l'URL du registre dans le champ du nom d'hôte.
Créer des connexions à l'aide de Terraform
Vous pouvez utiliser la ressource Terraform pour créer une connexion.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Pour afficher un exemple de modèle Terraform permettant de créer une connexion, consultez Exemple de modèle.
Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform :
Nom du paramètre Type de données Obligatoire Description type_detection_scheme ENUM Vrai Schéma utilisé pour l'authentification auprès du broker Apache Kafka. Valeurs acceptées : MessageOnly registry_service ENUM Faux Service de registre de schéma utilisé pour travailler avec des schémas de sujet. Valeurs acceptées : Confluent registry_type ENUM Faux Type de schéma spécifié pour un sujet spécifique. Valeurs acceptées : AVRO et JSON. registry_version STRING Faux Version du schéma lu dans RegistryUrl pour le sujet spécifié. Les valeurs valides pour la version du registre sont comprises entre [1,2^31-1] ou la chaîne "latest", qui renvoie le dernier schéma enregistré. registry_user STRING Faux Nom d'utilisateur à autoriser auprès du serveur spécifié dans RegistryUrl . registry_password SECRET Faux Secret Secret Manager contenant le mot de passe/la valeur de la clé du secret à autoriser auprès du serveur spécifié dans RegistryUrl. usessl BOOLEAN False Ce champ indique si SSL est activé. Utiliser la connexion Apache Kafka dans une intégration
Une fois la connexion créée, elle devient disponible dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration au moyen de la tâche "Connecteurs".
- Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez Tâche "Connecteurs".
- Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez Tâche "Connecteurs".
Demander de l'aide à la communauté Google Cloud
Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.Étapes suivantes
- Découvrez comment suspendre et reprendre une connexion.
- Découvrez comment surveiller l'utilisation des connecteurs.
- Découvrez comment afficher les journaux des connecteurs.
- Dans la section