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 exploite les bibliothèques clientes natives pour établir une connexion dans un cluster Kafka donné, et que le connecteur fonctionne avec la version 3.3.1 du client. Toutefois, le connecteur peuvent établir une connectivité aux 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 :
- Accorder à l'utilisateur le rôle IAM roles/connectors.admin configuration du 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.
- À 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 la connexion, fournissez les détails de la nouvelle connexion Apache Kafka:
- Version du connecteur:choisissez une version disponible du connecteur Apache Kafka dans la liste.
- Connection Name (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, les entités et les actions est sélectionnée par défaut pour la connexion Apache Kafka.
- Type de détection du schéma : 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 lue à partir de
RegistryUrl
pour le sujet spécifié. -
Utilisateur du registre: nom d'utilisateur ou clé d'accès à autoriser avec le serveur spécifié dans
RegistryUrl
. -
Mot de passe du registre: code secret du gestionnaire de secrets contenant la valeur du mot de passe/clé secrète à 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 UNE ÉTIQUETTE pour ajouter une étiquette à 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 l'hôte distant (système backend) 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 saisir d'autres destinations, cliquez sur + AJOUTER UNE DESTINATION.
- Cliquez sur Next (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.
- Auth Scheme (Schéma d'authentification) : schéma utilisé pour l'authentification.
Les schémas d'authentification suivants sont compatibles avec la connexion Apache Kafka:
- Standard
- SCRAM-SHA-1
- SCRAM-SHA-256
-
Indisponible
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 des 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 lettre morte : ID du projet Google Cloud dans lequel vous avez configuré le sujet de lettre morte Pub/Sub.
- Sujet de lettres mortes : 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'accepte aucune des opérations d'entité, ne sont pas répertorié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 une 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 jusqu'à 50 transactions par seconde, par nœud, et restreint tout les transactions au-delà de cette limite. Par défaut, Integration Connectors alloue deux nœuds (pour une meilleure 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 | 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 sur 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 sur laquelle le message a été écrit. |
TimestampWritten | Long | Heure (code temporel Unix) à laquelle le message a été validé sur la partition. |
KeyWritten | Chaîne | Valeur de la clé du message qui a été écrite. La valeur est NULL si aucune clé de message n'a été fournie. lors de la rédaction 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 pour Confluent Cloud est légèrement différente. des étapes documentées 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 en se connectant aux serveurs d'amorçage. Vous devez créer une clé API dans Confluent Cloud si vous ne l'avez pas déjà fait.
- 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 un registre de schémas si vous ne l'avez pas déjà fait.
- 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
. - Type Detection Scheme (Schéma de détection du 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 l'outil Terraform ressource pour créer une connexion.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Pour afficher un exemple de modèle Terraform pour la création de connexions, consultez cet 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 courtier Apache Kafka. Les valeurs acceptées sont: MessageOnly registry_service ENUM Faux Service Schema Registry utilisé pour travailler avec des schémas de sujets. Valeurs acceptées: Confluent registry_type ENUM Faux Type de schéma spécifié pour un sujet spécifique. Les valeurs acceptées sont: AVRO et JSON. registry_version STRING Faux Version du schéma lue à partir de 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 avec le serveur spécifié dans RegistryUrl . registry_password SECRET Faux Secret du gestionnaire de secrets contenant le mot de passe/valeur de la clé secrète à autoriser avec le serveur spécifié dans RegistryUrl. usessl VALEUR BOOLÉENNE 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 Apigee Integration et Application Integration. Vous pouvez utiliser la connexion lors d'une intégration via la tâche "Connecteurs".
- Pour comprendre comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez la section Tâche Connecteurs.
- Pour découvrir 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 du connecteur.
- Dans la section