步骤 1. 准备 - Amazon Kinesis Data Analytics for SQL 应用程序开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

步骤 1. 准备

在为本练习创建 Amazon Kinesis Data Analytics 应用程序之前,您必须创建两个 Kinesis 数据流。将一个流配置为应用程序的流式传输源,并将另一个流配置为目标(Kinesis Data Analytics 在其中永久保存应用程序输出)。

步骤1.1: 创建输入和输出数据流

在本节中,您创建两个 Kinesis 流股: ExampleInputStreamExampleOutputStream。您可以使用 AWS 管理控制台 或 AWS CLI.

  • 要使用 控制台

    1. 登录 AWS 管理控制台并通过以下网址打开 Kinesis 控制台:https://console.amazonaws.cn/kinesis

    2. 选择创建数据流。创建一个名为 ExampleInputStream。有关详细信息,请参阅 创建流股Amazon Kinesis Data Streams 开发人员指南.

    3. 重复上一步骤以创建带有一个名为 ExampleOutputStream 的分片的流。

  • 使用AWS CLI

    1. 使用下面的 Kinesis create-stream AWS CLI 命令创建第一个流 (ExampleInputStream)。

      $ aws kinesis create-stream \ --stream-name ExampleInputStream \ --shard-count 1 \ --region us-east-1 \ --profile adminuser
    2. 运行相同命令,将流名称更改为 ExampleOutputStream。此命令创建应用程序用于写入输出的第二个流。

步骤1.2: 将示例记录写入输入流

在此步骤中,您运行 Python 代码以持续生成示例记录,并将这些记录写入 ExampleInputStream 流。

{"heartRate": 60, "rateType":"NORMAL"} ... {"heartRate": 180, "rateType":"HIGH"}
  1. 安装 Python 和 pip

    有关安装 Python 的信息,请访问 Python 网站。

    您可以使用 pip 安装依赖项。有关安装 pip 的信息,请参阅 pip 网站上的安装

  2. 运行以下 Python 代码。代码中的 put-record 命令将 JSON 记录写入到流。

    import json import boto3 import random kinesis = boto3.client('kinesis') # generate normal heart rate with probability .99 def getNormalHeartRate(): data = {} data['heartRate'] = random.randint(60, 100) data['rateType'] = "NORMAL" return data # generate high heart rate with probability .01 (very few) def getHighHeartRate(): data = {} data['heartRate'] = random.randint(150, 200) data['rateType'] = "HIGH" return data while True: rnd = random.random() if (rnd < 0.01): data = json.dumps(getHighHeartRate()) print(data) kinesis.put_record( StreamName="ExampleInputStream", Data=data, PartitionKey="partitionkey") else: data = json.dumps(getNormalHeartRate()) print(data) kinesis.put_record( StreamName="ExampleInputStream", Data=data, PartitionKey="partitionkey")

下一步

步骤 2. 创建应用程序