Chr*_*her 5 amazon-web-services amazon-kinesis amazon-kinesis-firehose
我有一个连接到 kinesis firehose 的 kinesis 数据流,该 kinesis firehose 将数据转储到 S3 中。我正在使用 javascript 客户端库aws-sdk将记录推送到数据流中(例如使用putRecords())。
有没有办法让我在服务器端记录 IP、时间戳和用户代理?更一般地说,我可以将服务器端的 http 标头放入正在摄取到 kinesis 中的记录中吗?或者我必须把所有这些都放在客户端吗?
(如果在客户端,在处理来自客户端的 IP 和时间戳时是否有任何指向最佳实践的指针,这可能不可靠?)
有没有办法让我在服务器端记录 IP、时间戳和用户代理?
不幸的是,您无法在服务器端执行此操作。Kinesis API 不提供任何类型的配置,并且传递的 Kinesis 记录不包含通过 putRecords() 请求传递的任何 HTTP 元数据。(看起来像这样。)正如您猜测的那样,您必须在客户端添加信息。
我们也有类似的情况,我们不能依赖客户端详细信息(特别是时间方面),因此我们在 Kinesis 前面有一个小型 Web 服务,接受来自客户端的 HTTP,添加 HTTP 元数据和服务器端时间戳,然后将记录转发到 Kinesis。
您可以执行类似的操作,或者,如果您认为更简单,可以使用 API Gateway/Lambda 接受来自客户端的数据,添加 HTTP 元数据并将其转发到支持 API Gateway 端点的 Lambda 内的 Kinesis。
| 归档时间: |
|
| 查看次数: |
744 次 |
| 最近记录: |