【问题标题】:How is a Kinesis DeliveryStream writing to OpenSearch configured to save data to S3?如何将 Kinesis DeliveryStream 写入 OpenSearch 以将数据保存到 S3?
【发布时间】:2022-01-20 04:15:10
【问题描述】:

在原始开发人员离开后,我继承了在 AWS 上运行的应用程序。我不明白它的一部分是如何设置的。

该应用程序是一个 Lambda(用 Python 编写,但我认为这在这里并不重要),它接受来自 SQS 队列的事件并写入将数据传送到 OpenSearch 存储库(ElasticSearch 的 AWS 克隆)的 Kinesis Firehose。那部分我明白了。

应用程序还会以某种方式将所有已处理的事件写入 S3 存储桶。如果传递到 OpenSearch 成功,则键是 Data/%Y/%m/%d/%H/ 其中 Y,m,d,H 是请求的年、月、日和小时,guid 是全局唯一的 ID 字符串。如果向 OpenSearch 的传递失败,则事件将写入具有键 Data/elasticsearch-fail/%Y/%m/%d/%H/ 的同一存储桶。这不在 Lambda 的 Python 代码中。

我不知道这个对 S3 的写入是在哪里配置的。它不是 lambda 的一部分。我在 OpenSearch 或 Firehose 传输流的设置中看不到任何地方可以做到这一点。但我确信我错过了一些东西。

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-elasticsearch


    【解决方案1】:

    要查看将流数据保存到 S3 的配置,请在控制台中执行以下操作:

    • 转到 Kinesis 服务
    • 点击数据流,然后选择数据流名称
    • 单击“配置”选项卡
    • 向下滚动到“备份设置”部分
    • 该部分的中间列是“S3 备份存储桶”,如果 在 S3 中定义了一个指向存储桶的链接
    • 该部分的右侧是“S3 备份存储桶前缀”
      和“S3 备份存储桶错误输出前缀”

    这些是为要写出的数据定义键名前缀的地方。其余键名由 AWS 提供,用户无法定义。

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 2017-02-19
      • 2020-03-08
      • 2018-02-02
      相关资源
      最近更新 更多