Пакет SDK хранилища таблиц Azure: токен продолжения не работает, повторно извлекает одни и те же данныеPhp

Кемеровские программисты php общаются здесь
Anonymous
Пакет SDK хранилища таблиц Azure: токен продолжения не работает, повторно извлекает одни и те же данные

Сообщение Anonymous »

Я использую SDK microsoft/azure/storage-table v1.1 на PHP для извлечения объектов из таблицы Azure. Моя цель — получить все сущности. Их более 2000. При извлечении сущностей Azure вернет максимум 1000 результатов. Вам необходимо использовать токен продолжения для обработки нумерации страниц. Однако код, который я использую, продолжает получать одни и те же данные и показывать один и тот же токен. Цикл do- while выполняется бесконечно, а не завершается по оператору прерывания. Вот мой код:
try {
$tableClient = self::connect();
$options = new QueryEntitiesOptions();

do {
$result = $tableClient->queryEntities($table, $filter, $options);
$entities = $result->getEntities();

// Process entities
foreach ($entities as $entity) {
// store entities in an array or process them
$history[] = $entity;
}

// Get the continuation token
$continuationToken = $result->getContinuationToken();

// If a continuation token exists, set it for the next query
if ($continuationToken) {
$options->setContinuationToken($continuationToken);
} else {
break; // No more data, break the loop
}

} while (true);

} catch (ServiceException $e) {
echo $e->getCode() . ": " . $e->getMessage();
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... data-repea

Вернуться в «Php»