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

boto3 Kinesis客户端list_streams接口未返回预期流的问题

问题原因与解决方案

核心原因

list_streams方法的ExclusiveStartStreamName参数作用是从指定流名称的下一个流开始返回结果,而非包含指定流本身。所以传入"stream_a"时,只会返回排在它之后的stream_b,这是该参数的正常设计行为,并非boto3或AWS API的问题。

正确用法

  • 若要获取所有流,直接调用无参数的list_streams()即可,和AWS CLI行为一致:
    import boto3
    kinesis = boto3.client('kinesis')
    response = kinesis.list_streams()
    print(response['StreamNames'])  # 返回 ['stream_a', 'stream_b']
    
  • 针对分页场景(比如流数量超过默认返回上限100个时),先调用一次无参数的list_streams(),拿到返回结果中的LastStreamName,再将其作为ExclusiveStartStreamName传入下一次调用,获取后续流列表。也可以用分页器自动处理:
    kinesis = boto3.client('kinesis')
    paginator = kinesis.get_paginator('list_streams')
    for page in paginator.paginate():
        print(page['StreamNames'])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 13:12:06