

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Étape 4 : créer une rubrique dans le cluster Amazon MSK
<a name="create-topic"></a>

Dans cette étape de [Getting Started Using Amazon MSK](getting-started.md), vous pouvez créer une rubrique en utilisant l'une des deux approches suivantes : en utilisant des AWS outils natifs avec l' CreateTopic API ou en utilisant les AdminClient outils Apache Kafka sur une machine cliente.

**Avertissement**  
Lorsque vous utilisez AWS des outils avec l' CreateTopic API, vérifiez que votre cluster répond aux exigences. Pour plus de détails, consultez [la rubrique Conditions d'utilisation APIs](https://docs.aws.amazon.com/msk/latest/developerguide/msk-topic-operations-information.html#topic-operations-requirements).

**Avertissement**  
Lorsque vous utilisez AdminClient cette approche, les numéros de version d'Apache Kafka utilisés dans ce didacticiel ne sont que des exemples. Nous vous recommandons d'utiliser la même version du client que votre version de cluster MSK. Certaines fonctionnalités et corrections de bogues critiques peuvent être absentes d'une ancienne version du client.

**Topics**
+ [Création d'un sujet à l'aide d' AWS outils](#create-topic-aws-tools)
+ [Déterminer la version de votre cluster MSK](#find-msk-cluster-version)
+ [Création d'un sujet sur la machine cliente](#create-topic-client-machine)

## Création d'un sujet à l'aide d' AWS outils
<a name="create-topic-aws-tools"></a>

Vous pouvez créer des sujets dans votre cluster MSK à l'aide AWS d'outils tels que la AWS CLI ou la console AWS de gestion. AWS SDKs Cette approche permet de gérer les sujets de manière rationalisée sans avoir besoin d'un accès direct aux outils clients de Kafka.

Pour obtenir des informations détaillées sur la création de rubriques à l'aide AWS des outils, consultez le [guide du développeur d'CreateTopic API](https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-topic.html).

## Déterminer la version de votre cluster MSK
<a name="find-msk-cluster-version"></a>

1. Ouvrez la console Amazon MSK à l'adresse [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Dans la barre de navigation, choisissez la région dans laquelle vous avez créé le cluster MSK.

1. Choisissez le cluster MSK.

1. Notez la version d'Apache Kafka utilisée sur le cluster.

1. Remplacez les instances des numéros de version d'Amazon MSK dans ce didacticiel par la version obtenue à l'étape 3.

## Création d'un sujet sur la machine cliente
<a name="create-topic-client-machine"></a>

1. **Connect à votre machine cliente.**

   1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

   1. Dans le panneau de navigation, choisissez **Instances**. Cochez ensuite la case à côté du nom de la machine cliente dans laquelle vous l'avez créée[Étape 3 : Créer un ordinateur client](create-client-machine.md).

   1. Choisissez **Actions**, puis **Modifier**. Suivez les instructions dans la console pour vous connecter à votre ordinateur client.

1. **Installez Java et configurez la variable d'environnement de version de Kafka.**

   1. Installez Java sur la machine cliente en exécutant la commande suivante.

      ```
      sudo yum -y install java-11
      ```

   1. Stockez la [version Kafka](#find-msk-cluster-version) de votre cluster MSK dans la variable d'environnement`KAFKA_VERSION`, comme indiqué dans la commande suivante. Vous aurez besoin de ces informations tout au long de la configuration.

      ```
      export KAFKA_VERSION={KAFKA VERSION}
      ```

      Par exemple, si vous utilisez la version 3.6.0, utilisez la commande suivante.

      ```
      export KAFKA_VERSION=3.6.0
      ```

1. **Téléchargez et décompressez Apache Kafka.**

   1. Exécutez la commande suivante pour télécharger Apache Kafka. 

      ```
      wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
      ```
**Note**  
La liste suivante présente des informations de téléchargement alternatives de Kafka que vous pouvez utiliser en cas de problème.  
Si vous rencontrez des problèmes de connectivité ou si vous souhaitez utiliser un site miroir, essayez d'utiliser le sélecteur de miroir Apache, comme indiqué dans la commande suivante.  

        ```
        wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
        ```
Téléchargez une version appropriée directement depuis le [site Web d'Apache Kafka](https://kafka.apache.org/downloads).

   1. Exécutez la commande suivante dans le répertoire où vous avez téléchargé le fichier TAR à l'étape précédente.

      ```
      tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
      ```

   1. Enregistrez le chemin complet du répertoire nouvellement créé dans la variable d'`KAFKA_ROOT`environnement.

      ```
      export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
      ```

1. **Configurez l'authentification pour votre cluster MSK.**

   1. [Trouvez la dernière version](https://github.com/aws/aws-msk-iam-auth/releases/latest) de la bibliothèque cliente Amazon MSK IAM. Cette bibliothèque permet à votre machine cliente d'accéder au cluster MSK à l'aide de l'authentification IAM.

   1. À l'aide des commandes suivantes, accédez au `$KAFKA_ROOT/libs` répertoire et téléchargez le fichier JAR Amazon MSK IAM associé que vous avez trouvé à l'étape précédente. Assurez-vous de le remplacer par le numéro *\$1LATEST VERSION\$1* de version réel que vous êtes en train de télécharger.

      ```
      cd $KAFKA_ROOT/libs
      ```

      ```
      wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-{LATEST VERSION}-all.jar
      ```
**Note**  
Avant d'exécuter des commandes Kafka qui interagissent avec votre cluster MSK, vous devrez peut-être ajouter le fichier Amazon MSK IAM JAR à votre chemin de classe Java. Définissez la variable d'`CLASSPATH`environnement, comme indiqué dans l'exemple suivant.  

      ```
      export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar
      ```
Cela définit la valeur `CLASSPATH` pour l'ensemble de votre session, rendant le JAR disponible pour toutes les commandes Kafka suivantes.

   1. Accédez au `$KAFKA_ROOT/config` répertoire pour créer le fichier de configuration du client.

      ```
      cd $KAFKA_ROOT/config
      ```

   1. Copiez les paramètres de propriété suivants et collez-les dans un nouveau fichier. Enregistrez le fichier sous le nom **client.properties**.

      ```
      security.protocol=SASL_SSL
      sasl.mechanism=AWS_MSK_IAM
      sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
      sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
      ```

1. **(Facultatif) Ajustez la taille du tas Java pour les outils Kafka.**

   Si vous rencontrez des problèmes liés à la mémoire ou si vous travaillez sur un grand nombre de sujets ou de partitions, vous pouvez ajuster la taille du segment de mémoire Java. Pour ce faire, définissez la variable d'`KAFKA_HEAP_OPTS`environnement avant d'exécuter les commandes Kafka.

   L'exemple suivant définit à la fois la taille maximale et la taille initiale du tas à 512 mégaoctets. Ajustez ces valeurs en fonction de vos besoins spécifiques et des ressources système disponibles.

   ```
   export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
   ```

1. **Obtenez les informations de connexion à votre cluster.**

   1. Ouvrez la console Amazon MSK à l'adresse [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

   1. Attendez que le statut de votre cluster devienne **Actif**. Cela peut prendre plusieurs minutes. Lorsque le statut devient **Actif**, choisissez le nom du cluster. Cela vous amène à une page contenant le récapitulatif du cluster.

   1. Choisissez **Afficher les informations sur le client**.

   1. Copiez la chaîne de connexion pour le point de terminaison privé.

      Vous obtiendrez trois points de terminaison pour chacun des courtiers. Stockez l'une de ces chaînes de connexion dans la variable d'environnement`BOOTSTRAP_SERVER`, comme indiqué dans la commande suivante. Remplacez *<bootstrap-server-string>* par la valeur réelle de la chaîne de connexion.

      ```
      export BOOTSTRAP_SERVER=<bootstrap-server-string>
      ```

1. **Exécutez la commande suivante pour créer le sujet.**

   ```
   $KAFKA_ROOT/bin/kafka-topics.sh --create --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties --replication-factor 3 --partitions 1 --topic MSKTutorialTopic
   ```

   Si vous obtenez un `NoSuchFileException` pour le `client.properties` fichier, assurez-vous que ce fichier existe dans le répertoire de travail actuel du répertoire bin de Kafka.
**Note**  
Si vous préférez ne pas définir la variable d'`CLASSPATH`environnement pour l'ensemble de votre session, vous pouvez également préfixer chaque commande Kafka par la `CLASSPATH` variable. Cette approche applique le chemin de classe uniquement à cette commande spécifique.  

   ```
   CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar \
   $KAFKA_ROOT/bin/kafka-topics.sh --create \
   --bootstrap-server $BOOTSTRAP_SERVER \
   --command-config $KAFKA_ROOT/config/client.properties \
   --replication-factor 3 \
   --partitions 1 \
   --topic MSKTutorialTopic
   ```

1. **(Facultatif) Vérifiez que le sujet a été créé correctement.**

   1. Si la commande aboutit, le message suivant devrait s'afficher : `Created topic MSKTutorialTopic.`

   1. Répertoriez tous les sujets pour confirmer l'existence de votre sujet.

      ```
      $KAFKA_ROOT/bin/kafka-topics.sh --list --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties
      ```

   Si la commande échoue ou si vous rencontrez une erreur, consultez [Résoudre les problèmes liés à votre cluster Amazon MSK](troubleshooting.md) les informations de dépannage.

1. **(Facultatif) Supprimez les variables d'environnement que vous avez utilisées dans ce didacticiel.**

   Si vous souhaitez conserver vos variables d'environnement pour les prochaines étapes de ce didacticiel, ignorez cette étape. Dans le cas contraire, vous pouvez désactiver ces variables, comme indiqué dans l'exemple suivant.

   ```
   unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS
   ```

**Étape suivante**

[Étape 5 : Produire et consommer des données](produce-consume.md)