2017-07-17 59 views
0

我試圖從resourcesgrouptaggingAPI中使用get_resources並對它進行分頁。我正在用lambda函數和boto3來做這件事。boto3 get_resources paginator無法在控制檯內工作

但是,使用base = client.can_paginate('get_resources')返回False,雖然在documentation它表明它適用於get_resources

另一個人有這個問題,並創建了一個問題 here.現在它似乎爲他工作,所以我想調查什麼會導致控制檯lambda環境不工作。

只是爲了清楚起見,這裏是我的聲明和初始化:

client = boto3.client('resourcegroupstaggingapi') 
base = client.can_paginate('get_resources') #returns False 
paginator = client.get_paginator('get_resources') 

因此,有沒有使用控制檯進行分頁的問題嗎?

回答

1

AWS lambda環境並不總是運行最新版本的boto3/botocore。它目前提供botocore版本1.5.52(來源:https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html)。您嘗試訪問的分頁程序是在1.5.53版本中發佈的(來源:https://github.com/boto/botocore/commit/144dda7b63f9eccaeae66c040a281208b43e2678

因此,您正試圖使用​​尚未支持分頁get_resources的botocore版本。在這種情況下,您需要在捆綁之前安裝支持該功能的boto3/botocore版本。

E.g.如果你的源代碼是在src目錄:

pip install boto3==1.4.4 cp -r /usr/local/lib/python2.7/site-packages/* src/ cd src zip -rq lambda.zip .

+0

我認爲這是事實,但確認和解決方案確實有幫助。謝謝! – user3651225

相關問題