我们如何在Web浏览器中使用AWS Kinesis?

k-k*_*awa 11 javascript amazon-web-services amazon-kinesis

我们如何在Web浏览器中使用AWS Kinesis?

我对AWS Kinesis Stream感兴趣并想知道我是否可以使用它将用户的活动日志直接从他们的浏览器发送到AWS.

AWS提供了一个可在Web浏览器中执行的JavaScript SDK,但根据其文档,SDK需要凭据信息,因此,我认为在我的用例中使用它是不安全的.

我应该在他们的浏览器和AWS Kinesis之间放置代理服务器吗?或者在这种情况下是否有使用AWS Kinesis的安全方法?

Guy*_*Guy 9

您可以直接从用户的浏览器中使用JS SDK,而无需在代码中嵌入凭据或强制用户登录服务:

第一个是使用AWS Cognito.您可以在JS代码中嵌入几行代码,以识别您要使用的标识池.在服务端,您可以定义未经身份验证的用户可以写入Kinesis的角色.您可以在此博客文章中查看更多详细信息:https://blogs.aws.amazon.com/javascript/post/Tx1F7FO6GDAIXD3/Authentication-with-Amazon-Cognito-in-the-Browser

第二个选项是在用户和Kinesis流之间放置API-Gateway.网关是一种托管服务,您可以将其定义为"打开"而不进行身份验证,网关可以是具有写入Kinesis流的权限的网关.最简单的方法是使用Lambda函数,该函数在将事件放入流之前也能够转换/清除事件.请参阅服务文档中的更多详细信息:http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html

  • 对于这样的用例,API网关不是非常昂贵吗?想象一下,您每发送1000000个事件权重1ko:API网关的费用为3.5美元,Kinesis Firehose的费用为0.0038美元(欧盟西部关税)。@Guy我是否错误地计算了费用? (2认同)