For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-analytics/analytics/kafka-enable-rest-api.md.

Kafka - Comment activer l'API REST

Voir en Markdown

Découvrez comment activer l'API REST de votre service Kafka pour produire et consommer des messages en HTTPS

Objectif

Apache Kafka est une plateforme open source distribuée de streaming d'événements, conçue pour le traitement de données en temps réel et à grande échelle, avec une scalabilité et une durabilité élevées ainsi qu'une faible latence.

L'API REST Kafka permet à vos applications de produire et de consommer des messages en HTTPS, sans bibliothèque cliente Kafka.

Ce guide explique comment activer l'API REST de votre service Kafka avec l'API OVHcloud, puis comment produire et consommer un premier message avec curl.

Prérequis

En pratique

Activer l'API REST

Modifiez votre service en passant restApi à true (ou false pour la désactiver) :

{
  "restApi": true
}

Récupérer le point d'accès de l'API REST

Une fois l'API REST activée, un point d'accès kafkaRestApi est ajouté à votre service. Vous le trouvez dans la liste endpoints du détail du service :

{
  "component": "kafkaRestApi",
  "domain": "kafka-xxxxxxxx-xxxxxxxxx.database.cloud.ovh.net",
  "port": 20188,
  "scheme": "https",
  "ssl": true,
  "uri": "https://<username>:<password>@kafka-xxxxxxxx-xxxxxxxxx.database.cloud.ovh.net:20188"
}

L'API REST utilise HTTPS avec le certificat CA de votre service, ainsi que le nom et le mot de passe d'un utilisateur Kafka. Téléchargez le certificat CA sous le nom ca.pem (consultez le guide « Se connecter à un cluster Kafka en CLI »).

Info

Un utilisateur que vous venez de créer peut être refusé avec 401 Unauthorized pendant environ une minute, le temps qu'il soit disponible sur l'API REST.

Lister les topics

curl --cacert ca.pem -u 'app-orders:<password>' https://<host>:<port>/topics
["orders","__consumer_offsets"]

Produire un message

Envoyez un message JSON avec la clé order-1 dans le topic orders :

curl --cacert ca.pem -u 'app-orders:<password>' \
  -H 'Content-Type: application/vnd.kafka.json.v2+json' \
  -X POST https://<host>:<port>/topics/orders \
  -d '{"records":[{"key":"order-1","value":{"amount":42}}]}'

L'API REST renvoie la partition et l'offset du message :

{"key_schema_id":null,"offsets":[{"offset":0,"partition":0}],"value_schema_id":null}

Consommer des messages

La consommation se fait en trois étapes : créer une instance de consommateur dans un groupe de consommateurs, l'abonner au topic, puis lire les messages.

# 1. Créer l'instance de consommateur "c1" dans le groupe "orders-readers"
curl --cacert ca.pem -u 'app-orders:<password>' \
  -H 'Content-Type: application/vnd.kafka.v2+json' \
  -X POST https://<host>:<port>/consumers/orders-readers \
  -d '{"name":"c1","format":"json","auto.offset.reset":"earliest"}'

# 2. L'abonner au topic "orders"
curl --cacert ca.pem -u 'app-orders:<password>' \
  -H 'Content-Type: application/vnd.kafka.v2+json' \
  -X POST https://<host>:<port>/consumers/orders-readers/instances/c1/subscription \
  -d '{"topics":["orders"]}'

# 3. Lire les messages
curl --cacert ca.pem -u 'app-orders:<password>' \
  -H 'Accept: application/vnd.kafka.json.v2+json' \
  https://<host>:<port>/consumers/orders-readers/instances/c1/records

L'API REST renvoie les messages du topic :

[{"key":"order-1","offset":0,"partition":0,"timestamp":1791971865910,"topic":"orders","value":{"amount":42}}]

Une fois terminé, supprimez l'instance de consommateur :

curl --cacert ca.pem -u 'app-orders:<password>' \
  -H 'Content-Type: application/vnd.kafka.v2+json' \
  -X DELETE https://<host>:<port>/consumers/orders-readers/instances/c1

Aller plus loin

Kafka - Comment utiliser les listes de contrôle d'accès (ACL)

Kafka - Comment activer le Schema Registry

Votre avis nous intéresse !

Nous serions ravis de répondre à vos questions et apprécions tout retour que vous pourriez nous faire.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Vous êtes sur Discord ? Rejoignez notre chaîne via https://discord.gg/ovhcloud et interagissez directement avec l'équipe qui développe notre service Analytics !

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?