将导出的数据存储在 Amazon S3 中 - Amazon Monitron

从2024年10月31日起,亚马逊Monitron将不再向新客户开放。如果您想使用该服务,请在该日期之前注册。现有客户可以继续照常使用该服务。如需了解与 Amazon Monitron 类似的功能,请参阅我们的博客文章

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

将导出的数据存储在 Amazon S3 中

使用预定义的 CloudFormation模板

Amazon Monitron 提供了一个预定义的 AWS CloudFormation 模板,可帮助快速设置 Firehose,将数据从 Kinesis 数据流传输到 Amazon S3 存储桶。该模板支持动态分区,并且传输的 Amazon S3 对象将使用 Amazon Monitron 推荐的以下键格式:/project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}

  1. 登录您的 AWS 账户。

  2. 打开一个新的浏览器选项卡,其中包含以下内容URL:

    https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://s3.us-east-1.amazonaws.com/monitron-cloudformation-templates-us-east-1/monitron_kinesis_data_export.yaml&stackName=monitron-kinesis-live-data-export
  3. 在打开的 AWS CloudFormation 页面的右上角,选择您正在使用 Amazon Monitron 的区域。

  4. 默认情况下,该模板将创建新的 Kinesis 数据流和 S3 桶,并创建将数据传输到 Amazon S3 所需的其他资源。您可以更改参数以使用现有资源。

  5. 选中写着 “我确认这 AWS CloudFormation 可能会创建IAM资源” 的复选框。

  6. 选择创建堆栈

  7. 在下一页上,随心所欲地选择刷新图标,直到堆栈的状态为 CREATE _ COMPLETE。

在控制台中手动配置 Kinesis

  1. 登录 AWS 管理控制台并打开 Kinesis 控制台,网址为 /kinesis。 https://console.aws.amazon.com

  2. 在导航窗格中,选择传输流

  3. 选择创建传输流

  4. 对于“源”,选择 Amazon Kinesis Data Streams

  5. 对于“目标”,选择 Amazon S3

  6. “源设置” 下,输入 Kinesis 数据流的 ARN Kinesis 数据流。

  7. 传输流名称下,输入 Kinesis 数据流的名称。

  8. 目标设置下,选择一个 Amazon S3 存储桶或输入一个存储桶URI。

  9. (可选)使用内联解析为启用动态分区。JSON如果您想基于源信息和时间戳对流测量数据进行分区,则可以选择此选项。例如:

    • 针对动态分区选择启用

    • 针对换行分隔符选择启用

    • 为的内联解析选择 “启用” JSON

    • 动态分区键下,添加:

      键名称 JQ 表达式

      项目

      。 projectDisplayName| “project=\ (.)”

      site

      。 siteDisplayName| “site=\ (.)”

      时间

      .timestamp| sub("[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}$"; "00:00:00")| "time=\(.)"

  10. 选择应用动态分区键并确认生成的 Amazon S3 桶前缀为 !{partitionKeyFromQuery:project}/!{partitionKeyFromQuery:site}/!{partitionKeyFromQuery:time}/

  11. 在 Amazon S3 中,对象将使用以下键格式:/project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}

  12. 选择创建传输流

  13. (可选)使用更精细的路径。

    如果您选择动态分区,请使用之前的 Amazon S3 密钥格式(如果您打算使用 AWS Glue 和 Athena 来查询数据)。您也可以选择更精细的键格式,但 Amazon Athena 查询的效率会降低。以下是设置更精细的 Amazon S3 键路径的示例。

    动态分区键下,添加:

    键名称 JQ 表达式

    项目

    。 projectDisplayName| “project=\ (.)”

    site

    。 siteDisplayName| “site=\ (.)”

    asset

    。 assetDisplayName| “asset=\ (.)”

    position

    。 sensorPositionDisplay名称| “位置=\ (.)”

    sensor

    .sensor。 physicalId | “传感器=\ (.)”

    date

    .timestamp| sub(" [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}$"; "")| "date=\(.)"

    在 Amazon S3 中,对象将使用以下键格式: /project={projectName}/site={siteName}/asset={assetName}/position={positionName}/sensor={sensorId}/date={yyyy-mm-dd}/time={HH:MM:SS}/{filename}