Как предоставить постраничные результаты из большого запроса Google Cloud, используя ruby на рельсах - PullRequest
0 голосов
/ 24 марта 2020

Я использую Ruby в приложении Rails и хочу получить наборы данных, таблицы в разбивке по страницам.

Использование gem 'google-cloud-bigquery' для моего приложения.

Вот код для создания Клиент Bigquery

 Google::Cloud::Bigquery.configure do |config|
      config.project_id  = project_id
      config.credentials = credentials
    end

 @bigquery = Google::Cloud::Bigquery.new

Выборка наборов данных

datasets = @bigquery.datasets

Над строкой извлекаются только первые 50 записей. Но я хочу использовать нумерацию страниц для списка наборов данных. Как мне добиться этого, используя этот драгоценный камень в Ruby на Rails?

Пример:

Total datasets = 170
Limit per page = 30
Total no of pages = 6

1 Ответ

1 голос
/ 24 марта 2020

Вам нужно вызвать метод #next для него. Из документов фрагмент кода будет выглядеть примерно так

datasets = @bigquery.datasets
if datasets.next? # Checks if there are more datasets
    next_datasets = datasets.next # gets the next dataset list.
end

Все это контролируется token, возвращенным в последнем ответе, который является местоположением следующей страницы. Что касается самого размера страницы, то, похоже, есть переменная max, если вы заглянете внутрь следующего метода, который, я не уверен, откуда он устанавливается изначально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...