Apache Kafka
Le connecteur Apache Kafka vous permet d'effectuer des opérations d'insertion, de suppression, de mise à jour et de lecture sur la base de données Apache Kafka.
Versions compatibles
Le connecteur Apache Kafka s'appuie sur 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 :
- Vérifiez que la connectivité réseau est configurée. Pour en savoir plus sur les modèles de réseau, consultez la section 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 compte Google spécial 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 plus d'informations, consultez la section 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 la page Activer des services.
Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.
Configurer le connecteur
Pour configurer le connecteur, vous devez créer une connexion à votre source de données (système backend). Une connexion est spécifique à 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 Integration Connectors > Connections (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 l'étape 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 la 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, entités et 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 dans
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
. - Vous pouvez également configurer les paramètres du nœud 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 plus de transactions pour une connexion, plus de nœuds sont nécessaires. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez la section 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 une meilleure disponibilité) et le nombre maximal sur 50.
- Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé-valeur.
- Enable SSL (Activer SSL) : ce champ indique si SSL est activé.
- Cliquez sur Suivant.
- Dans la section Destinations, saisissez les informations concernant le serveur de démarrage Kafka auquel vous souhaitez vous connecter.
- Type de destination : sélectionnez un type de destination.
- Sélectionnez Adresse hôte dans la liste pour spécifier le nom d'hôte ou l'adresse IP de la destination.
- Si vous souhaitez établir une connexion privée à vos systèmes backend, sélectionnez Rattachement du point de terminaison dans la liste, puis sélectionnez le rattachement du point de terminaison requis dans la liste Rattachement du 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:
- Naturel
- 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 la file d'attente de lettres mortes. Si vous configurez une lettre morte, la connexion écrit les événements non traités dans le sujet Pub/Sub spécifié. Saisissez les informations suivantes :
- ID de projet de boîte à lettres morte : ID du projet Google Cloud dans lequel vous avez configuré le sujet Pub/Sub de boîte à lettres morte.
- Sujet de lettre morte : sujet Pub/Sub dans lequel vous souhaitez écrire les détails de l'événement non traité.
- Cliquez sur Suivant.
- Vérifiez vos informations de connexion et d'authentification.
- Cliquez sur Créer.
Entités, opérations et actions
Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que via cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.
- Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connecté. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, dans un connecteur de serveur de fichiers, les dossiers sont les entités et, dans un connecteur de système de messagerie, les files d'attente sont les entités.
Toutefois, il est possible qu'un connecteur ne soit pas compatible ou ne possède aucune entité. Dans ce cas, la liste
Entities
est vide. - Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Vous pouvez effectuer l'une des opérations suivantes sur une entité :
La sélection d'une entité dans la liste disponible génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche de connecteur. Toutefois, si un connecteur n'est pas compatible avec l'une des opérations d'entité, ces opérations non compatibles ne sont pas listées dans la liste
Operations
. - Action : une action est une fonction de première classe mise à la disposition de l'intégration via l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. Toutefois, il est possible qu'un connecteur ne prenne en charge aucune action, auquel cas la liste
Actions
est vide.
Limites du système
Le connecteur Apache Kafka peut traiter un maximum de 50 transactions par seconde et par nœud, et limite les transactions au-delà de cette limite. Par défaut, les connecteurs d'intégration allouent deux nœuds (pour une meilleure disponibilité) à une connexion.
Pour en savoir plus sur les limites applicables à Integration Connectors, consultez la section 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 | Requis | 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 sujet 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 la forme d'une 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 sur laquelle le message a été écrit. |
OffsetWritten | Long | Position dans la partition à 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é de message écrite. 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 de l'action PublishMessage
:
{Success: true, PartitionWritten: 1, OffsetWritten: 22301, KeyWritten: "dGVzdA==", TimestampWritten: 1690806748}
Configuration pour Confluent Cloud
La configuration de 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 de démarrage. Si vous n'en avez pas déjà une, vous devez en créer une dans Confluent Cloud.
- Sélectionnez Use SSL (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 "Nom d'hôte".
Utiliser Terraform pour créer des connexions
Vous pouvez utiliser la ressource Terraform pour créer une connexion.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Pour consulter un exemple de modèle Terraform permettant de créer une connexion, consultez l'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 Requis Description type_detection_scheme ENUM Vrai Schéma utilisé pour l'authentification avec le broker Apache Kafka. Les valeurs acceptées sont: 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, 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 BOOLÉEN Faux 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 à la fois dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration via la tâche Connecteurs.
- Pour savoir comment créer et utiliser la tâche Connecteurs dans Apigee Integration, consultez la section Tâche Connecteurs.
- Pour savoir comment créer et utiliser la tâche Connecteurs dans Application Integration, consultez la section Tâche Connecteurs.
Obtenir de l'aide auprès de la communauté Google Cloud
Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.Étape suivante
- Découvrez comment suspendre et réactiver une connexion.
- Découvrez comment surveiller l'utilisation des connecteurs.
- Découvrez comment afficher les journaux de connecteur.
- Dans la section