我正在将 JSON 数据流式传输到 Kinesis Firehose 中,然后将它们放入 S3 此自定义前缀:
short_date=!{timestamp:yyyy-MM-dd}/
。我知道 Firehose 本身不会将其识别为 JSON 数据,并且我不知道如何为 S3 文件对象添加扩展名。 Firehose 将数据作为纯文本文件(不带任何扩展名)传输。如何向我的数据添加 .json 扩展名?
您无法告诉 firehose 添加 .json 扩展名,但是,您可以设置一个 s3 事件通知,该通知会在每个 S3“放置”时触发,并编写一个小型 lambda 函数,在需要时为您重命名。
https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
我最近遇到了这个问题,最终编写了一个小的 lambda 函数,该函数在新数据流到 s3 时触发并添加扩展,我使用了本教程:
https://medium.com/lambdatv/integrating-s3-with-lambda-plus-some-use-cases-e82d3a02defc