2016-12-29 56 views
0

我試圖在AWS Kinesis中實現動態分片。我創建了一個示例python腳本來使用Boto3庫更新kinesis流中的分片計數,以將python與AWS Kinesis連接起來。 但是,當我使用update_shard_count方法它給予Kinesis對象沒有屬性update_shard_count錯誤。AWS Kinesis對象沒有屬性:update_shard_count

import boto3 

client = boto3.client('kinesis',region_name='us-east-1') 
response = client.update_shard_count(
    StreamName='xyzstream', 
    TargetShardCount=2, 
    ScalingType='UNIFORM_SCALING') 

Traceback (most recent call last): File "", line 1, in AttributeError: 'Kinesis' object has no attribute 'update_shard_count'

那麼如何使用我能API更新室壁運動碎片計數?

+0

我只是試圖與boto3的版本1.4.2,肯定有一個''update_shard_count''方法的Kinesis客戶端對象。你使用什麼版本? – garnaat

回答

0

你必須升級你的Boto3。我有Boto3 1.4.3,我在Kinesis模塊中看到了update_shard_count方法。接下來,我檢查舊版本,但沒有看到該方法。

>>> import boto3 
    >>> boto3.__version__ 
    '1.4.3' 
    >>> client = boto3.client('kinesis') 
    >>> client.update_shard_count 
<bound method Kinesis.update_shard_count of <botocore.client.Kinesis object at 0x7fbfb7445b90>> 

舊版本

>>> import boto3 
>>> boto3.__version__ 
'1.4.0' 
>>> client = boto3.client('kinesis') 
>>> client.update_shard_count 

Traceback (most recent call last): File "", line 1, in AttributeError: 'Kinesis' object has no attribute 'update_shard_count'