簡體   English   中英

serverList()只返回100個結果

[英]serverList() only returns 100 results

我正在嘗試編寫一些代碼來清點我們的OpenStack部署,並且我遇到了一個問題,其中serverList()只返回100個結果而不是600+我期待的結果。 我已經回顧了文檔和一些來源,據我所知,沒有理由認為這應該發生,因為PaginatedIterator應該透明地進行分頁。

我的代碼中沒有生成錯誤或警告,或者我的控制器[我可以找到]登錄。 我通過composer使用php-opencloud v1.12。

use OpenCloud\OpenStack;
$client = new OpenStack('http://1.2.3.4:5000/v2.0/', array(
    'username'  => 'admin',
    'password'  => 'hunter2',
    'tenantName'=> 'admin',
));
$service = $client->computeService('nova', 'RegionOne');

$stmt = $dbh->prepare('INSERT INTO servers VALUES (?,?)');
/* foreach($service->serverList() as $server) {
    $stmt->execute([$server->id, $server->name]);
} // neither method works */
$list = $service->serverList();
while( $list->valid() ) {
    $server = $list->current();
    $stmt->execute([$server->id, $server->name]);
    $list->next();
}
echo "\n";
var_dump($dbh->query('SELECT * FROM servers')->fetchAll(PDO::FETCH_ASSOC));

分頁的默認限制為100.可以使用更高的限制覆蓋此限制,如下所示:

$list = $service->serverList(null, array('limit' => 700));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM