【问题标题】:How do I log IP, timestamp, and user-agent on Kinesis server side如何在 Kinesis 服务器端记录 IP、时间戳和用户代理
【发布时间】:2018-12-15 11:34:38
【问题描述】:

我有一个 kinesis 数据流连接到一个可在 S3 中转储数据的 kinesis firehose。我正在使用 javascript 客户端库 aws-sdk 将记录推送到数据流中(例如使用 putRecords())。

有没有办法让我记录服务器端的 ip、时间戳和用户代理?更一般地说,我可以将服务器端的 http 标头放入被摄取到 kinesis 的记录中吗?还是我必须将所有这些都放在客户端?

(如果在客户端,在处理来自客户端的 ip 和时间戳时,是否有任何指向最佳实践的指针,这可能不可靠?)

【问题讨论】:

    标签: amazon-web-services amazon-kinesis amazon-kinesis-firehose


    【解决方案1】:

    有没有办法让我记录 ip、时间戳和用户代理操作 服务器端?

    很遗憾,您无法在服务器端执行此操作。 Kinesis API 不提供任何类型的配置,传递的 Kinesis 记录不包含 putRecords() 请求带来的任何 HTTP 元数据。 (Looks something like this.) 如您所料,您必须在客户端添加信息。

    我们有类似的情况,我们不能依赖客户端的详细信息(尤其是时间),所以我们有一个位于 Kinesis 前面的小型 Web 服务,接受来自客户端的 HTTP,添加 HTTP 元数据和服务器-side 时间戳,然后将记录转发到 Kinesis。

    您可以做类似的事情,或者,如果您认为更简单,可以使用 API Gateway/Lambda 接受来自您的客户端的数据,添加 HTTP 元数据并将其转发到支持 API Gateway 端点的 Lambda 内的 Kinesis。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 2013-07-10
      相关资源
      最近更新 更多