将应用程序输出永久保存到外部目标的传输模型 - Amazon Kinesis Data Analytics for SQL 应用程序开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

将应用程序输出永久保存到外部目标的传输模型

Amazon Kinesis Data Analytics 使用“至少一次”传输模型将应用程序输出传输到配置的目标。在应用程序运行时,Kinesis Data Analytics 使用内部检查点。这些检查点是指将输出记录传输到目标并且未丢失数据的时间点。该服务根据需要使用检查点以确保至少向配置的目标传输一次应用程序输出。

一般情况下,您的应用程序持续处理传入数据。Kinesis Data Analytics 将输出写入到配置的目标,例如,Kinesis 数据流或 Kinesis Data Firehose 传输流。不过,您的应用程序偶尔可能会中断,例如:

  • 您选择停止应用程序并稍后重新启动。

  • 您删除 Kinesis Data Analytics 在将应用程序输出写入到配置的目标时所需的 IAM 角色。在没有 IAM 角色的情况下,Kinesis Data Analytics 无权代表您写入到外部目标。

  • 网络中断或其他内部服务故障导致应用程序暂时停止运行。

在您的应用程序重新启动时,Kinesis Data Analytics 确保它从发生故障之前或发生故障时起继续处理和写入输出。这有助于确保它将所有应用程序输出传输到配置的目标,而不会遗漏任何内容。

假设您从同一应用程序内部流中配置多个目标。应用程序从故障恢复之后, Kinesis Data Analytics 恢复将输出从交付至最慢目标的最后一个记录中的已配置目标恢复到已配置的目标。 这可能导致输出记录的输出记录超过其他目标。在这种情况下,您必须在外部处理目标中的潜在重复项。