Google bigquery 是否只返回1000个表?

Google bigquery 是否只返回1000个表?,google-bigquery,Google Bigquery,我在下面的代码中是做错了什么,还是这是一个bug com.google.api.services.bigquery.Bigquery.Tables.List list = bigquery.tables().list(PROJECT_ID, datasetid); list.setMaxResults((long) 5000); return list.execute().getTables(); 我在这个数据集中有1000多个表 一个请求中返回的

我在下面的代码中是做错了什么,还是这是一个bug

 com.google.api.services.bigquery.Bigquery.Tables.List list =
          bigquery.tables().list(PROJECT_ID, datasetid);
      list.setMaxResults((long) 5000);
      return list.execute().getTables();

我在这个数据集中有1000多个表

一个请求中返回的最大表数为1000。但是,您还应该在响应中收到一个
pageToken
,可以用来分页查看进一步的结果

例如:

List<Table> tables = new ArrayList<>();
com.google.api.services.bigquery.Bigquery.Tables.List list =
  bigquery.tables().list(PROJECT_ID, datasetid);
list.setMaxResults(5000L);
String nextPageToken = null;
while (true) {
  if (nextPageToken != null) {
    list.setPageToken(nextPageToken);
  }
  TableList result = list.execute();
  tables.addAll(result.getTables());
  if (result.getNextPageToken() == null) {
    break;
  } else {
    nextPageToken = result.getNextPageToken();
  }
}
return tables;
List tables=new ArrayList();
com.google.api.services.bigquery.bigquery.Tables.List列表=
bigquery.tables().list(项目ID、数据集ID);
列表。setMaxResults(5000L);
字符串nextPageToken=null;
while(true){
如果(nextPageToken!=null){
list.setPageToken(nextPageToken);
}
TableList结果=list.execute();
tables.addAll(result.getTables());
if(result.getNextPageToken()==null){
打破
}否则{
nextPageToken=result.getNextPageToken();
}
}
返回表;

“我在下面的代码中是做错了什么,还是这是一个bug?”可能两者都不是。这很可能是一个限制。不应该在某个地方指定吗?