重新处理通道消息 - Amazon IoT Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

重新处理通道消息

Amazon IoT Analytics 使您能够重新处理通道数据。这在以下情况下很有用:

  • 您希望重放现有已提取的数据,而不是重新开始。

  • 您希望对管道进行更新,并希望引入带有更改的现有最新数据。

  • 您希望包含在更改客户托管存储选项、通道权限或数据存储之前提取的数据。

参数

使用 Amazon IoT Analytics 重新处理管道中的通道消息时,必须指定以下信息:

StartPipelineReprocessing

启动通过管道重新处理通道消息。

ChannelMessages

指定要重新处理的一组或多组通道消息。

如果使用 channelMessages 对象,则不得为 startTimeendTime 指定值。

s3Paths

指定一个或多个密钥,用于标识保存通道消息的 Amazon Simple Storage Service (Amazon S3)对象。您必须使用该密钥的完整路径。

路径示例:00:00:00/1582940490000_1582940520000_123456789012_mychannel_0_2118.0.json.gz

类型:字符串数组

数组成员限制:1-100 项。

长度限制:1-1024 个字符。

endTime

重新处理的通道数据的结束时间 (不含)。

如果为 endTime 参数指定值,则不得使用 channelMessages 对象。

类型:时间戳

startTime

重新处理的原始消息数据的开始时间 (含)。

如果为 startTime 参数指定值,则不得使用 channelMessages 对象。

类型:时间戳

pipelineName

要开始重新处理的管道的名称。

类型:字符串

长度限制:1-128 个字符。

重新处理通道消息(控制台)

本教程介绍了如何在 Amazon IoT Analytics 控制台中重新处理存储在指定 Amazon S3 对象中的通道数据。

在开始之前,请确保将要重新处理的通道消息保存在客户托管的 Amazon S3 存储桶中。

  1. 登录到 Amazon IoT Analytics 控制台

  2. 在导航窗格中,选择管道

  3. 选择您的目标管道。

  4. 操作中选择重新处理消息

  5. 管道重新处理页面上,为重新处理消息选择 S3 对象

    Amazon IoT Analytics 控制台还提供以下选项:

    • 所有可用范围 - 重新处理通道中的所有有效数据。

    • 最近 120 天 - 重新处理最近 120 天到达的数据。

    • 最近 90 天 - 重新处理最近 90 天到达的数据。

    • 最近 30 天 - 重新处理最近 30 天到达的数据。

    • 自定义范围 - 重新处理在指定时间范围内到达的数据。您可以选择任何时间范围。

  6. 输入用于存储通道消息的 Amazon S3 对象的密钥。

    要查找密钥,请执行以下操作:

    1. 前往 Amazon S3 控制台

    2. 选择目标 Amazon S3 对象。

    3. 属性下的对象概述部分中,复制密钥。

  7. 选择开始重新处理

重新处理通道消息(API)

在使用 StartPipelineReprocessing API 时,请注意以下几点:

  • startTimeendTime 参数指定提取原始数据的时间,不过这些是粗略估计的时间。您可以舍入到最接近的小时。startTime 含本数,但 endTime 不含本数。

  • 该命令异步启动重新处理并立即返回。

  • 不保证重新处理消息的顺序与接收时的顺序相同。这大致相同,但不完全一致。

  • 每 24 小时最多可发出 1000 个 StartPipelineReprocessing API 请求,用于通过管道重新处理相同的通道消息。

  • 重新处理原始数据将产生额外的费用。

有关更多信息,请参阅 《Amazon IoT Analytics API 参考》中的 StartPipelineReprocessing API。

取消通道重新处理活动

要取消管道重新处理活动,可使用 CancelPipelineReprocessing API,也可在 Amazon IoT Analytics 控制台的活动页面上选择取消重新处理。如果取消重新处理,则不会重新处理剩余的数据。您必须启动另一个重新处理请求。

使用 DescribePipeline API 检查重新处理的状态。参阅响应中的 reprocessingSummaries 字段。