

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建 Apache Kafka 主题
<a name="msk-serverless-create-topic"></a>

在此步骤中，您将使用先前创建的客户端计算机在无服务器集群上创建主题。

**Topics**
+ [设置环境以创建主题](#msk-serverless-create-topic-prerequisites)
+ [创建主题并向主题写入数据](#msk-serverless-create-topic-procedure)

## 设置环境以创建主题
<a name="msk-serverless-create-topic-prerequisites"></a>
+ 在创建主题之前，请确保您已将 AWS MSK IAM JAR 文件下载到 Kafka 安装的`libs/`目录中。如果还没有这样做，请在 Kafka 的 `libs/` 目录中运行以下命令。

  ```
  wget https://github.com/aws/aws-msk-iam-auth/releases/download/v2.3.0/aws-msk-iam-auth-2.3.0-all.jar
  ```

  该 JAR 文件是 MSK Serverless 集群的 IAM 身份验证所必需的。
+ 运行 Kafka 命令时，你可能需要确保`classpath`包含 AWS MSK IAM JAR 文件。为此，请执行以下操作之一：
  + 将环境变量 `CLASSPATH` 设置为您的 Kafka 库，如下例所示。

    ```
    export CLASSPATH=<path-to-your-kafka-installation>/libs/*:<path-to-your-kafka-installation>/libs/aws-msk-iam-auth-2.3.0-all.jar
    ```
  + 使用带有显式 `classpath` 的完整 Java 命令运行 Kafka 命令，如下例所示。

    ```
    java -cp "<path-to-your-kafka-installation>/libs/*:<path-to-your-kafka-installation>/libs/aws-msk-iam-auth-2.3.0-all.jar" org.apache.kafka.tools.TopicCommand --bootstrap-server $BS --command-config client.properties --create --topic msk-serverless-tutorial --partitions 6
    ```

## 创建主题并向主题写入数据
<a name="msk-serverless-create-topic-procedure"></a>

1. 在以下`export`命令中，*my-endpoint*替换为在创建集群后保存的 bootstrap-server 字符串。然后，转到客户端计算机上的 `kafka_2.12-2.8.1/bin` 目录并运行 `export` 命令。

   ```
   export BS=my-endpoint
   ```

1. 运行以下命令以创建名为 `msk-serverless-tutorial` 的主题。

   ```
   <path-to-your-kafka-installation>/bin/kafka-topics.sh --bootstrap-server $BS --command-config client.properties --create --topic msk-serverless-tutorial --partitions 6
   ```

**下一步**

[在 MSK Serverless 中生成和使用数据](msk-serverless-produce-consume.md)