如何在 Kinesis 服务器端记录 IP、时间戳和用户代理



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

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

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

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

不幸的是,您无法在服务器端执行此操作。Kinesis API 不提供任何此类配置,并且传递的 Kinesis 记录不包含随 putRecords(( 请求提供的任何 HTTP 元数据。(看起来像这样。正如您所推测的那样,您必须在客户端添加信息。

我们也有类似的情况,我们不能依赖客户端细节(特别是在时间上(,所以我们有一个小型的 Web 服务,它位于 Kinesis 前面,接受来自客户端的 HTTP,添加 HTTP 元数据和服务器端时间戳,然后将记录转发到 Kinesis。

您可以执行类似操作,或者,如果您认为更容易,请使用 API 网关/Lambda 接受来自客户端的数据,添加 HTTP 元数据并将其转发到 Lambda 中的 Kinesis,该 Lambda 支持 API 网关终端节点。

最新更新