Guide de configuration rapide pour Event Streams pour IBM Cloud
Ce tutoriel vous guide tout au long des étapes permettant de commencer rapidement à utiliser Event Streams en mettant à disposition une instance, en créant une rubrique et des données d'identification, puis en produisant et en consommant des données. En outre, vous apprendrez à connecter IBM Cloud® Monitoring et IBM Cloud® Activity Tracker, et éventuellement à utiliser Kafka Connect ou ksqlDB. Enfin, vous découvrirez également comment obtenir de l'aide avec Event Streams.
Sélectionnez votre interface à l'aide des onglets au début de la page.
Suivez ces étapes pour terminer le didacticiel :
- Avant de commencer
- Etape 1: Choisissez votre plan
- Etape 2: Mise à disposition d'une instance Event Streams à l'aide de la console
- Etape 3: Création d'une rubrique et de partitions à l'aide de la console
- Etape 4: Création de données d'identification de service à l'aide de la console
- Etape 5: Génération de données à l'aide de la console
- Etape 6: Consommer les données à l'aide de la console
- Etape 7: Connexion de Monitoring
- Etape 8: Connexion de Activity Tracker
- Etape 9:(Facultatif)Utilisez Kafka Connect ou ksqlDB
- Etape 10: Si vous avez besoin de plus d'aide
Suivez ces étapes pour terminer le didacticiel :
- Avant de commencer
- Etape 1: Choisissez votre plan
- Etape 2: Mise à disposition d'une instance Event Streams à l'aide de l'interface de ligne de commande
- Etape 3: Création d'une rubrique et de partitions à l'aide de l'interface de ligne de commande
- Etape 4: Création de données d'identification de service à l'aide de l'interface de ligne de commande
- Etape 5: Génération de données à l'aide de la ligne de commande
- Etape 6: Consommer les données à l'aide de la ligne de commande
- Etape 7: Connexion de Monitoring
- Etape 8: Connexion de Activity Tracker
- Etape 9:(Facultatif)Utilisez Kafka Connect ou ksqlDB
- Etape 10: Si vous avez besoin de plus d'aide
Suivez ces étapes pour terminer le didacticiel :
- Avant de commencer
- Etape 1: Choisissez votre plan
- Etape 2: Mise à disposition d'une instance Event Streams à l'aide d'une API
- Etape 3: Création d'une rubrique et de partitions à l'aide d'une API
- Etape 4: Création de données d'identification de service à l'aide de l'interface de ligne de commande et d'une API
- Etape 5: Génération de données à l'aide d'une API
- Etape 6: Consommer les données à l'aide d'une API
- Étape 7 : Connecter IBM Cloud Monitoring
- Etape 8: Connexion de Activity Tracker
- Etape 9:(Facultatif)Utilisez Kafka Connect ou ksqlDB
- Etape 10: Si vous avez besoin de plus d'aide
Avant de commencer
Avant de commencer, nous vous recommandons vivement de lire les informations suivantes pour mieux comprendre Apache Kafka, sur lequel repose Event Streams:
Etape 1: Choisissez votre plan
Event Streams offre trois plans différents. Pour vous aider à déterminer celui qui correspond le mieux à vos besoins, voir Choix de votre plan.
-
Le plan Lite permet d'accéder gratuitement à une partition unique dans un cluster Event Streams à service partagé. Utilisez le plan Lite pour tester Event Streams ou générez une preuve de concept.
-
Le plan Standard offre un accès partagé par répartition au service Event Streams à service partagé. Ce service effectue une mise à l'échelle automatique transparente au fur et à mesure que vous augmentez le nombre de partitions que vous utilisez pour votre charge de travail. Le plan Standard a une limite de 100 partitions par instance.
-
Le plan Enterprise offre un accès par répartition à un service Event Streams à service exclusif isolé. En plus d'une sélection d'options de débit et de stockage, ce plan offre également des noeuds finaux privés de chiffrement gérés par l'utilisateur, la prise en charge du registre de schéma et répond à un plus grand nombre de normes de conformité aux réglementations. Le plan Entreprise est le meilleur choix si l'isolation des données, la garantie de performance et l'augmentation de la rétention sont des considérations importantes.
Utilisation des API
Vous pouvez utiliser plusieurs API pour utiliser Event Streams. Ce tutoriel utilise les API suivantes :
- L'API du contrôleur de ressources permet de mettre à disposition une instance et d' extraire un jeton d'accès.
- L'API REST d'administration pour utiliser des rubriques.
- L'API REST Producer permet de créer des données d'identification de service et de générer des messages.
Etape 2: Mise à disposition d'une instance Event Streams à l'aide de la console
-
Connectez-vous à la console Web IBM Cloud.
-
Cliquez sur le service Event Streams dans le catalogue.
-
Sélectionnez le plan Lite, le plan Standard ou le plan Enterprise dans la section Sélectionner un plan de tarification.
-
Entrez un nom pour votre service. Vous pouvez utiliser la valeur par défaut.
-
Cliquez sur Créer. La page Liste de ressources Event Streams s'ouvre.
-
Lorsque votre instance a été créée, cliquez sur le nom de l'instance pour afficher plus d'informations.
-
Optionnel. Vous pouvez effectuer les étapes du tutoriel d'initiation pour exécuter un exemple d'application de démarrage.
Etape 2: Mise à disposition d'une instance Event Streams à l'aide de l'interface de ligne de commande
Si c'est la première fois que vous utilisez l'interface de ligne de commande, voir Initiation à l'interface de ligne de commande.
Pour provisionner une instance d' Event Streams Standard Plan avec l' IBM Cloud CLI, procédez comme suit :
-
Installez l'interface de ligne de commande IBM Cloud en suivant les étapes de la rubrique Initiation à l'interface de ligne de commande IBM Cloud.
-
Connectez-vous à IBM Cloud en exécutant la commande suivante :
ibmcloud login -a cloud.ibm.com -
Créez une instance Event Streams sur IBM Cloud en utilisant les plans Lite, Standard ou Enterprise.
Sélectionnez l'une des méthodes suivantes :
-
Pour créer une instance à partir de l'interface de ligne de commande sur le plan Enterprise, exécutez la commande suivante :
ibmcloud resource service-instance-create <INSTANCE_NAME> messagehub enterprise-3nodes-2tb <REGION>Le plan Enterprise ayant ses propres ressources dédiées pour chaque cluster, il nécessite plus de temps pour le provisionnement, de sorte qu'une nouvelle instance Enterprise peut prendre jusqu'à 3 heures.
-
Pour créer une instance à partir de l'interface de ligne de commande sur le plan Standard, exécutez la commande suivante :
ibmcloud resource service-instance-create <INSTANCE_NAME> messagehub standard <REGION>Le provisionnement d'une nouvelle instance du plan Standard est instantané car les ressources sous-jacentes sont déjà configurées.
-
Etape 2: Mise à disposition d'une instance Event Streams à l'aide de l'API du contrôleur de ressources
La méthode recommandée pour mettre à disposition une instance consiste à utiliser l'interface de ligne de commande.
Vous pouvez également utiliser l'API de contrôleur de ressources. Tout d'abord, extrayez un jeton d'accès, puis exécutez une commande d'API de contrôleur de ressources avec le jeton d'accès pour créer l'instance.
Etape 2a: Extraction d'un jeton d'accès à l'aide de l'API du contrôleur de ressources
Vous pouvez récupérer votre jeton d'accès par programmation en créant d'abord une clé API d'identification de service pour votre application, puis en échangeant votre clé API contre un jeton IAM IBM Cloud.
-
Connectez-vous à IBM Cloud avec Interface de ligne de commandeIBM Cloud.
ibmcloud loginSi la connexion échoue, exécutez la commande
ibmcloud login --ssopour réessayer. :NONE.--ssoest requis lorsque vous vous connectez avec un identifiant fédéré. Si cette option est utilisée, allez sur le lien répertorié dans la sortie d'interface de ligne de commande pour générer un code d'accès unique. -
Sélectionnez le compte, la région et le groupe de ressources contenant votre instance Event Streams mise à disposition.
-
Créer un ID de service pour votre application.
ibmcloud iam service-id-create SERVICE_ID_NAME [-d, --description DESCRIPTION] -
Pour plus d'informations sur l'ID de service, voir Gestion de l'accès aux ressources.
Vous pouvez attribuer des autorisations d'accès pour votre identifiant de service en utilisant la console d' IBM Cloud. Pour savoir comment les rôles d'accès Gestionnaire, Rédacteur et Lecteur sont mappés à des actions de service Key Protect spécifiques, consultez Rôles et autorisations.
Vous pouvez attribuer des autorisations d'accès pour votre identifiant de service en utilisant la console d' IBM Cloud. Pour savoir comment les rôles d'accès Manager, _Writer_et Reader sont mappés à l'accès utilisateur à Ressources Event Streams, voir Que puis-je sécuriser?
-
Créer un clé d'API d'ID de service.
ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME [-d, --description DESCRIPTION] [--file FILE_NAME]Remplacez
<service_ID_name>par l'alias unique que vous avez affecté à votre ID de service à l'étape précédente. Sauvegardez la clé d'API en la téléchargeant dans un emplacement sécurisé. -
Appelez l' API des services d'identité IAM pour récupérer votre jeton d'accès.
$ curl -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "content-type: application/x-www-form-urlencoded" \ -H "accept: application/json" \ -d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.jsonDans la demande, remplacez
<API_KEY>par la clé d'API que vous avez créée à l'étape précédente. L'exemple tronqué suivant montre le contenu de la Fichiertoken.json:{ "access_token": "b3VyIGZhdGhlc...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "dGhpcyBjb250a...", "token_type": "Bearer" }Utilisez la valeur
access_tokencomplète, préfixée par le type de jeton Bearer, pour gérer par programme les clés de votre service à l'aide de l'API Key Protect. Pour afficher un exemple de demande d'API Key Protect, voir Formuler votre demande d'API.Les jetons d'accès sont valides pendant 1 heure, mais vous pouvez les régénérer si besoin. Pour maintenir l'accès au service, régénérez régulièrement le jeton d'accès de votre clé API en appelant l' API des services d'identité IAM.
-
Utilisez des jetons IBM Cloud Identity and Access Management (IAM) pour envoyer des demandes authentifiées aux services IBM Watson sans intégrer les données d'identification de service dans chaque appel.
-
L'authentification IAM utilise des jetons d'accès pour l'authentification, que vous achetez en envoyant une demande avec une clé d'API.
-
Étape 2b: Créer une instance
Exécutez une commande similaire à la suivante pour créer une instance Enterprise dans la région Sud des Etats-Unis:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: ${token}" -H "Content-Type: application/json" \
-d '{ "name": "JG-test-curl", "target": "us-south", "resource_group":"9eba3cff1b0540b9ab7fb93829911da0", "resource_plan_id": "ibm.message.hub.enterprise.3nodes.2tb", "parameters":{"service-endpoints":"public","throughput":"150"}}'
Etape 3: Création d'une rubrique et sélection du nombre de partitions à l'aide de la console
Pour obtenir des conseils sur les paramètres que vous pouvez modifier lors de la création de rubriques, voir Configuration de rubrique.
-
A partir de votre instance nouvellement mise à disposition, accédez à Rubriques à l'aide du menu de gauche.
-
Cliquez sur le bouton Créer une rubrique et entrez un nom de rubrique. Cliquez sur Suivant. Les noms de rubrique sont limités à un maximum de 200 caractères.
-
Sélectionnez le nombre de partitions.
Une rubrique est constituée d'une ou de plusieurs partitions. Une partition est une liste ordonnée de messages. 1 partition suffit pour démarrer, mais les systèmes de production en ont souvent plus.
Les partitions sont réparties entre les brokers pour augmenter l'évolutivité de votre sujet. Vous pouvez également les utiliser pour distribuer des messages aux membres d'un groupe d'usagers.
Cliquez sur Suivant.
-
Définir la période de conservation des messages. Durée de conservation des messages avant qu'ils ne soient supprimés. Si vos messages ne sont pas lus par un utilisateur pendant cette période, ils ne seront pas pris en compte. La période de conservation par défaut des messages est de 24 heures. La durée minimale est d'une heure et la durée maximale de 30 jours. Spécifiez cette valeur comme un nombre d'heures.
Cliquez sur Créer un sujet.
Utilisation des rubriques à l'aide de la console
Après avoir créé des rubriques, vous pouvez utiliser la console pour répertorier les rubriques.
Liste des rubriques
A partir de votre instance Event Streams, accédez à Rubriques à partir du menu de gauche.
A partir de la page Rubriques, vous pouvez afficher les informations suivantes sur vos rubriques: Nom, Partitions, Durée de conservation, Taille de conservation, Stratégie de nettoyage et Atterrissage du flux.
Etape 3: Création d'une rubrique et sélection du nombre de partitions à l'aide de l'interface de ligne de commande
Pour obtenir des conseils sur les paramètres que vous pouvez modifier lors de la création de rubriques, voir Configuration de rubrique.
Utilisez la commande ibmcloud es topic-create suivante pour créer une nouvelle rubrique avec le nombre de partitions que vous avez choisi:
ibmcloud es topic-create [--name] TOPIC_NAME [--partitions PARTITIONS] [--config KEY=VALUE[;KEY=VALUE]* ]*
Prérequis : Aucun
Options de commande :
- valeur --name, valeur -n
-
Nom de la rubrique. Les noms de rubrique sont limités à un maximum de 200 caractères.
- valeur --partitions, valeur -p
-
Définit le nombre de partitions pour la rubrique.
Une rubrique est constituée d'une ou de plusieurs partitions. Une partition est une liste ordonnée de messages. 1 partition suffit pour démarrer, mais les systèmes de production en ont souvent plus.
Les partitions sont réparties entre les brokers pour augmenter l'évolutivité de votre sujet. Vous pouvez également les utiliser pour distribuer des messages aux membres d'un groupe d'usagers.
- --config KEY=VALUE, -c KEY=VALUE (facultatif)
-
Définit une option de configuration pour la rubrique en tant que paire KEY=VALUE.
-
Vous pouvez spécifier plusieurs options --config. Chaque option --config peut spécifier une liste d'affectations délimitées par des points-virgules. La liste suivante indique les clés de configuration valides :
- cleanup.policy
- retention.ms
- retention.bytes
- segment.bytes
- segment.ms
- segment.index.bytes
La durée de conservation par défaut des messages spécifiée par la clé retention.ms est de 24 heures. La durée minimale est d'une heure et la durée maximale de 30 jours. Spécifiez cette valeur comme un nombre d'heures.
Utilisation des rubriques
Après avoir créé des rubriques, vous pouvez utiliser l'interface de ligne de commande pour répertorier les rubriques et afficher des détails sur votre cluster.
Répertoriez une rubrique à l'aide de la commande ibmcloud es topics
Exécutez la commande ibmcloud es topics pour répertorier vos rubriques.
ibmcloud es topics [--filter FILTER] [--json]
Prérequis : Aucun
Options de commande :
- valeur --filter, valeur -f (facultatif)
- Nom de la rubrique.
- --json (facultatif)
- Formater la sortie en JSON Un maximum de 1000 rubriques est renvoyé.
Affichage des détails du cluster à l'aide de la commande ibmcloud es cluster
Exécutez la commande ibmcloud es cluster pour afficher les détails du cluster, y compris la version Kafka.
ibmcloud es cluster [--json]
Prérequis : Aucun
Options de commande :
- --json (facultatif)
- Format de sortie en JSON.
Pour plus d'informations sur les autres commandes de l'interface de ligne de commande Event Streams pour les rubriques, voir Référence de l'interface de ligne de commande.
Etape 3: Création d'une rubrique et sélection du nombre de partitions à l'aide de l'API REST d'administration
Event Streams fournit une API REST pour l'administration que vous pouvez utiliser pour créer et répertorier des rubriques.
Vous pouvez créer une rubrique Kafka en émettant une demande POST dans le chemin /admin/topics. Le corps de la demande doit contenir un document JSON. Exemple :
{
"name": "topicname",
"partitions": 1,
"configs": {
"retentionMs": 86400000,
"cleanupPolicy": "delete"
}
}
Le document JSON doit contenir un attribut name, spécifiant le nom de la rubrique Kafka à créer. Les noms de rubrique sont limités à un maximum de 200 characters.The peut également spécifier le nombre de partitions à affecter à
la rubrique (à l'aide de la propriété partitions ). Si le nombre de partitions n'est pas spécifié, la rubrique est créée avec une seule partition.
Une rubrique est constituée d'une ou de plusieurs partitions. Une partition est une liste ordonnée de messages. 1 partition suffit pour démarrer, mais les systèmes de production en ont souvent plus.
Les partitions sont réparties entre les brokers pour augmenter l'évolutivité de votre sujet. Vous pouvez également les utiliser pour distribuer des messages aux membres d'un groupe d'usagers.
Vous pouvez également spécifier un objet configs facultatif dans la demande. Vous pouvez ainsi spécifier la propriété retentionMs, qui contrôle la durée (en millisecondes) pendant laquelle Kafka conserve les messages
publiés dans la rubrique. Une fois ce délai écoulé, les messages sont automatiquement supprimés pour libérer de l'espace. Vous devez spécifier la valeur de la propriété retentionMs dans un nombre entier d'heures (par exemple,
des multiples de 3600000). La période de conservation par défaut des messages est de 24 heures. La durée minimale est d'une heure et la durée maximale de 30 jours.
Pour obtenir des conseils sur les paramètres que vous pouvez modifier lors de la création de rubriques, voir Configuration de rubrique.
Les codes d'état d' HTTP s attendus sont les suivants :
- 202: La demande de création de rubrique a été acceptée.
- 400: JSON de demande non valide.
- 403: Non autorisé à créer une rubrique.
- 422: Demande non valide sur le plan sémantique.
Si la demande de création d'un sujet d' Kafka s aboutit, le code d'état 202 (Accepté) d' HTTP est renvoyé. Si l'opération échoue, un code d'état d' HTTP s de 422 (Unprocessable Entity) est renvoyé, et un objet JSON contenant des informations supplémentaires sur l'échec est renvoyé en tant que corps de la réponse.
Exemple
Vous pouvez utiliser le noeud final REST pour créer une rubrique Kafka à l'aide du fragment de code curl suivant. Vous devrez fournir votre propre clé d'API ou jeton et spécifier le noeud final correct pour l'API ADMIN. Pour plus d'informations sur l'obtention d'une clé ou d'un jeton, voir Extraction d'un jeton d'accès à l'aide de l'API.
curl -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer ${TOKEN}' --data '{ "name": "newtopic", "partitions": 1}' ${ADMIN_URL}/admin/topics
Utilisation des rubriques à l'aide de l'API REST d'administration
Après avoir créé des rubriques, vous pouvez utiliser l'API REST d'administration pour répertorier les rubriques. Pour plus d'informations sur les autres commandes relatives aux rubriques que vous pouvez exécuter, voir Méthodes d'API REST d'administration.
Liste des rubriques
Vous pouvez répertorier toutes vos rubriques Kafka en envoyant une demande GET à la Chemin /admin/topics.
Le code de statut attendu est :
- 200: La liste de rubriques est renvoyée en tant que JSON au format suivant:
[
{
"name": "topic1",
"partitions": 1,
"retentionMs": 86400000,
"cleanupPolicy": "delete"
},
{ "name": "topic2",
"partitions": 2,
"retentionMs": 86400000,
"cleanupPolicy": "delete"
}
]
Une réponse réussie aura le statut d' HTTP, le code 200 (OK) et contiendra un tableau d'objets JSON, où chaque objet représente un sujet d' Kafka et possède les propriétés suivantes :
| Nom de propriété | Description |
|---|---|
| nom | Nom du sujet d' Kafka. |
| partitions | Nombre de partitions affectées à la rubrique Kafka. |
| retentionsMs | Durée de conservation des messages sur la rubrique (en ms). |
| cleanupPolicy | Règle de nettoyage de la rubrique Kafka. |
Exemple de liste de rubriques
Vous pouvez utiliser la commande curl suivante pour répertorier toutes vos rubriques Kafka:
curl -i -X GET -H 'Accept: application/json' -H 'Authorization: Bearer ${TOKEN}' ${ADMIN_URL}/admin/topics
Etape 4: Créer des données d'identification de service à l'aide de la console
Pour vous permettre de vous connecter à votre instance Event Streams, créez une clé de service à l'aide de la console IBM Cloud:
- Localisez votre service Event Streams dans la Liste de ressources.
- Cliquez sur la vignette de votre service.
- Cliquez sur Données d'identification pour le service.
- Cliquez sur Nouvelles données d'identification.
- Entrez les détails de votre nouvelle donnée d'identification, par exemple un nom et un rôle, puis cliquez sur Ajouter. Une nouvelle donnée d'identification s'affiche dans la liste des données d'identification.
- Développez la section des nouvelles données d'identification pour afficher les détails au format JSON.
Etape 4: Créer des données d'identification de service à l'aide de l'interface de ligne de commande
Créez une clé de service à l'aide de l'interface de ligne de commande IBM Cloud afin de pouvoir vous connecter à votre instance Event Streams:
-
Recherchez votre service comme suit :
ibmcloud resource service-instances -
Créez une instance de service :
ibmcloud resource service-key-create <key_name> <key_role> --instance-name <your_service_name> -
Imprimez la clé de service :
ibmcloud resource service-key <key_name>Un ensemble unique de détails de noeud final est contenu dans chaque clé de service. Pour les instances de service configurées pour être connectées à un seul type de réseau, le réseau public IBM Cloud (valeur par défaut) ou le réseau privé IBM Cloud, la clé de service contient les détails relatifs à ce type de réseau. Pour les instances configurées pour prendre en charge les réseaux privés et publics, les détails du réseau public sont renvoyés. Si vous souhaitez des détails sur le réseau privé, vous devez ajouter le paramètre
--service-endpoint privateà la commande d'interface de ligne de commande service-key-create précédente. Exemple :ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
Etape 4: Créez des données d'identification de service à l'aide de l'interface de ligne de commande et de l'API du fournisseur REST
Pour vous connecter à votre instance Event Streams, le mécanisme d'authentification pris en charge utilise un jeton bearer. Pour obtenir votre jeton en utilisant l'interface de ligne de commande ( IBM Cloud ) CLI, connectez-vous d'abord à IBM Cloud puis exécutez la commande suivante :
ibmcloud iam oauth-tokens
Placez ce jeton dans l'en-tête d'autorisation de la requête HTTP au format Bearer<token>. La clé d'API et les jetons JWT sont pris en charge.
Etape 5: Produire des données à l'aide de la console
Vous ne pouvez pas générer de données à l'aide de la console. Vous pouvez produire des données à l'aide de la ligne de commande, de l' API REST Producer ou de l'APIKafka.
Toutefois, vous pouvez effectuer les étapes de la console dans le tutoriel d'initiation pour exécuter un exemple d'application de démarrage et voir les messages transitant par une rubrique.
Etape 5: Produire des données à l'aide de la ligne de commande
Vous pouvez utiliser l'outil de producteur de console Event Streams Kafka pour produire des données. Les outils de la console se trouvent dans le répertoire bin de votre téléchargement de client Kafka, que vous pouvez télécharger
à partir des téléchargementsApache Kafka. Nous vous recommandons de télécharger la dernière version binaire stable disponible. Les versions du client Kafka sont
compatibles en amont avec la version de Kafka sur le serveur.
Vous devez fournir une liste de courtiers (à l'aide de la propriété BOOTSTRAP_ENDPOINTS) et des données d'identification SASL.
Pour fournir les informations d'identification SASL à cet outil, créez un fichier de propriétés basé sur l'exemple suivant :
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<user>" password="<api_key>";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
Utilisez la zone <user> de la clé de service comme nom d'utilisateur et la zone <api_key> de la clé de service comme mot de passe. Vous pouvez trouver ces valeurs dans l'onglet Event Streams Données d'identification du service de la console IBM Cloud.
Event Streams fournit des exemples de fichiers producer.properties et consumer.properties pour le client Java.
Après avoir créé le fichier de propriétés, vous pouvez exécuter le producteur de console dans un terminal comme suit :
kafka-console-producer.sh --broker-list BOOTSTRAP_ENDPOINTS --producer.config CONFIG_FILE --topic TOPIC_NAME
Remplacez les variables de l'exemple par vos propres valeurs :
- BOOTSTRAP_ENDPOINTS avec la valeur de votre onglet Event Streams Données d'identification de service dans la console IBM Cloud.
- CONFIG_FILE par le chemin d'accès au fichier de configuration.
- Utilisez la zone
<bootstrap_endpoints>de la clé de service comme propriétébootstrap.serversde votre application Kafka. - Utilisez la zone
<user>de la clé de service comme nom d'utilisateur et la zone<api_key>de la clé de service comme mot de passe. Vérifiez que votre application analyse les détails.
Vous pouvez utiliser de nombreuses autres options de cet outil, à l'exception de celles qui nécessitent un accès à ZooKeeper. Pour plus d'informations, voir Utilisation des outils de la console Kafka avec Event Streams.
Paramètres de configuration du producteur
Pour plus de détails sur certains des paramètres les plus importants que vous pouvez configurer pour le fournisseur, voir les informations suivantes:
Etape 5: Génération de données à l'aide de l'API REST Producer
Utilisez le point de terminaison v2 de l'API REST Producer pour envoyer des messages de type text, binary, JSON ou avro à des sujets. Avec le point de terminaison d' v2, vous pouvez utiliser
le registre de schémas d' Event Streams, en spécifiant le schéma pour le type de données avro.
- Que sont les en-têtes? Sont-elles facultatives? Des en-têtes apparaissent dans le corps du message. C'est le bloc de données qui inclut tout dans la demande ou la réponse. Les en-têtes sont généralement fournis après la ligne de demande ou la ligne de réponse. La valeur de la couleur est base64-comment faire?
Le code suivant montre un exemple d'envoi d'un message de type text en utilisant curl :
curl -v -X POST \
-H "Authorization: Bearer $token" -H "Content-Type: application/json" -H "Accept: application/json" \
-d '{
"headers": [
{
"name": "colour",
"value": "YmxhY2s="
}
],
"key": {
"type": "text",
"data": "Test Key"
},
"value": {
"type": "text",
"data": "Test Value"
}
}' \
"$kafka_http_url/v2/topics/$topic_name/records"
Pour plus d'informations, voir Event Streams REST Producer v2 endpoint API reference.
Paramètres de configuration du producteur
Pour plus de détails sur certains des paramètres les plus importants que vous pouvez configurer pour le fournisseur, voir les informations suivantes:
Etape 6: Consommer les données à l'aide de la console
Vous ne pouvez pas consommer de données à l'aide de la console. Vous pouvez consommer des données à l'aide de la ligne de commande ou de l'APIKafka.
Toutefois, vous pouvez effectuer les étapes du tutoriel d'initiation pour exécuter un exemple d'application de démarrage et voir les messages transitant par une rubrique.
Etape 6: Consommer les données à l'aide de la ligne de commande
Vous pouvez utiliser l'outil de consommateur de console Event Streams Kafka pour consommer des données.
Les outils de la console se trouvent dans le répertoire bin de votre téléchargement de client Kafka.
Vous devez fournir une liste des données d'identification SASL et des courtiers. Après avoir créé le fichier de propriétés comme décrit dans , générez des données à l'aide de la ligne de commande, exécutez le consommateur de console dans un terminal comme suit:
kafka-console-consumer.sh --bootstrap-server BOOTSTRAP_ENDPOINTS --consumer.config CONFIG_FILE --topic TOPIC_NAME
Remplacez les variables de l'exemple par vos propres valeurs :
- BOOTSTRAP_ENDPOINTS avec la valeur de votre onglet Event Streams Données d'identification de service dans la console IBM Cloud.
- CONFIG_FILE par le chemin d'accès au fichier de configuration.
Vous pouvez utiliser de nombreuses autres options de cet outil, à l'exception de celles qui nécessitent un accès à ZooKeeper. Pour plus d'informations, voir Utilisation des outils de la console Kafka avec Event Streams.
Paramètres de configuration du consommateur
Pour plus de détails sur certains des paramètres les plus importants que vous pouvez configurer pour le consommateur, voir les informations suivantes:
Etape 6: Consommer les données à l'aide d'une API
Vous ne pouvez pas consommer de données à l'aide d'une API Event Streams bien que la consommation de données provenant de Kafka soit possible à l'aide des bibliothèques Kafka natives. Pour plus d'informations, voir API de consommateurKafka.
Vous pouvez également utiliser la ligne de commande.
Etape 7: Connexion de IBM Cloud Monitoring à la visibilité opérationnelle à l'aide de la console
Vous pouvez utiliser IBM Cloud Monitoring pour obtenir une visibilité opérationnelle sur les performances et la santé de vos applications, services et plateformes. IBM Cloud Monitoring fournit aux administrateurs, aux équipes DevOps et aux développeurs une télémétrie de pile complète avec des fonctions avancées pour surveiller et traiter les incidents, définir des alertes et concevoir des tableaux de bord personnalisés.
Pour plus d'informations sur l'utilisation d' Monitoring avec Event Streams, consultez :
Etape 7: Connexion de IBM Cloud Monitoring pour une visibilité opérationnelle à l'aide de l'interface de ligne de commande ou de la ligne de commande
Vous ne pouvez pas connecter IBM Cloud Monitoring à l'aide de l'interface de ligne de commande ou de la ligne de commande. Utilisez la console pour effectuer cette tâche.
Etape 7: Connexion de IBM Cloud Monitoring pour une visibilité opérationnelle à l'aide d'une API
Vous ne pouvez pas connecter IBM Cloud Monitoring à l'aide d'une API. Utilisez la console pour effectuer cette tâche.
Etape 8: Connexion de IBM Cloud® Activity Tracker à l'activité de service d'audit
IBM Cloud Activity Tracker vous permet d'afficher, de gérer et d'auditer l'activité des services conformément aux règles de l'entreprise et aux réglementations du secteur. Activity Tracker enregistre les activités initiées par l'utilisateur qui modifient l'état d'un service dans IBM Cloud. Utilisez Activity Tracker pour suivre la manière dont les utilisateurs et les applications interagissent avec le service Event Streams sur les plans Standard et Enterprise.
Pour être opérationnel avec Activity Tracker, voir Initiation à Activity Tracker.
Activity Tracker ne peut posséder qu'une seule instance par emplacement. Pour afficher des événements, vous devez accéder à l'interface utilisateur Web du service Activity Tracker, à l'emplacement où votre instance de service est disponible. Pour plus d'informations, voir Lancement de l'interface utilisateur Web.
Pour plus d'informations sur les événements spécifiques à Event Streams, voir:
- Emplacement de visualisation des événements
- Événements relatifs aux rubriques
- Evénements d'audit de message
- Autres événements
Les événements sont formatés selon la norme CADF (Cloud Auditing Data Federation). Pour plus de détails sur les informations qu'ils incluent, voir la norme CADF.
Etape 8: Connexion de IBM Cloud® Activity Tracker à l'aide de l'interface de ligne de commande ou de la ligne de commande pour effectuer un audit de l'activité de service
Vous ne pouvez pas vous connecter à Activity Tracker à l'aide de l'interface de ligne de commande ou de la ligne de commande. Utilisez la console pour effectuer cette tâche.
Etape 8: Connexion de IBM Cloud® Activity Tracker à l'aide d'une API pour auditer l'activité de service
Vous ne pouvez pas vous connecter à Activity Tracker à l'aide d'une API. Utilisez la console pour effectuer cette tâche.
Etape 9: (Facultatif) Utilisez Kafka Connect ou ksqlDB
Kafka Connect
Kafka Connect fait partie du projet d' Apache Kafka, et permet de connecter des systèmes externes à Kafka. Il consiste en un environnement d'exécution (runtime) capable d'exécuter des connecteurs pour copier des données vers et depuis un cluster.
Pour plus d'informations, voir Utilisation de Kafka Connect avec Event Streams.
Kafka Connect ne fait pas partie du service Event Streams géré.
ksqlDB
Vous pouvez utiliser KSQL avec le plan Enterprise Event Streams pour le traitement de flux.
ksqlDB est une base de données spécialement conçue pour la diffusion en flux d'événements. Utilisez-le pour générer rapidement des applications de diffusion d'événements de bout en bout avec une base de données de traitement de flux spécialement conçue pour Apache Kafka.
Effectuez d'abord ces étapes de configuration. Ensuite, le moyen le plus rapide et le plus simple d'exécuter ksqlDB avec Event Streams est d'utiliser un conteneur docker comme décrit dans ksqlDB quickstart.
Etape 10: Obtenir de l'aide
Pour obtenir une présentation générale de l'aide relative à Event Streams et savoir où obtenir de l'aide, voir Aide et support.
Les foires aux questions fournissent des réponses détaillées à certaines des questions courantes sur Event Streams.
Si vous rencontrez un problème avec Event Streams, voici la liste des informations que vous devez collecter avant d'ouvrir un cas Signalement d'un problème à l'équipe Event Streams-Plans Standard et Enterprise.