You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Python Boto3 Lambda中从Event对象获取Kinesis流名称?

从Kinesis触发的Lambda Event中获取流名称

当Lambda被Kinesis流触发时,每条Record里都自带流的ARN信息,你可以从ARN中解析出流名称,无需硬编码。

实现代码示例

修改你的lambda_handler函数,添加解析逻辑:

import boto3
import json
from pprint import pprint

s3 = boto3.client('s3')
kinesis = boto3.client('kinesis')

def lambda_handler(event, context):
    if event and event.get("Records"):
        # 提取第一条记录的Kinesis流ARN
        kinesis_arn = event["Records"][0]["eventSourceARN"]
        # ARN格式为 arn:aws:kinesis:区域:账号ID:stream/流名称,拆分后取最后一段
        stream_name = kinesis_arn.split('/')[-1]
        
        print(f"当前处理的Kinesis流名称:{stream_name}")
        
        for i in event["Records"]:
            print(i)

关键说明

  • eventSourceARN是Kinesis触发Lambda时自动带入的字段,无需额外配置
  • 同一次Lambda调用的所有记录都来自同一个流,只需解析第一条记录的ARN即可
  • 通过split('/')[-1]可以快速从ARN中提取出流名称

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 10:05:22