Kinesis 数据流到 lambda 函数

问题描述

我有一个现有的 kinesis 实例,我的目标是通过 lambda 函数连接到它并处理记录。

我通过“创建新的 SAM 应用程序”使用 vscode aws-toolkit 扩展创建了 lambda。我在python中使用boto3放置了一些测试记录。每次我在调试模式下在本地撤销 lambda 时,事件都是一个空对象,因此没有要解析的记录。

我可以使用 boto3 连接到 kinesis 并在 python 中检索记录以确认记录的存在。

这是我的模板.yaml

Globals:
  Function: 
  Timeout: 60

Resources: 
  KinesisRecors: Type: AWS::Serverless::Function
  Properties: 
    CodeUri: kinesis_records/ 
    Handler: app.lambda_handler 
    Runtime: python3.8 
    Events: 
      KinesisEvent: 
        Type: Kinesis 
        Properties: 
          Stream: arn:aws:.... 
          StartingPosition: TRIM_HORIZON 
          BatchSize: 10 
          Enabled: false

我也用 Enabled: true 测试过,但没有成功

lamda 函数

import base64
def lambda_handler(event,context):
    for record in event['Records']:
       payload=base64.b64decode(record["kinesis"]["data"])

是否可以在本地调用函数获取记录?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...