php - GCP BigQuery PHP 客户端获取项目列表
问题描述
这是我当前的代码,它只带回一个项目。如何获取所有可访问项目的列表?
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/../vendor/autoload.php';
# Imports the Google Cloud client library
use Google\Cloud\BigQuery\BigQueryClient;
$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/../gcp-bigquery-key.json');
$scopes = implode(' ', [Google_Service_Bigquery::BIGQUERY]);
$client->setScopes($scopes);
$service = new Google_Service_Bigquery($client);
$tQ = $service->projects->listProjects();
print_r($tQ);
解决方案
我看到您正在使用 BigQuery 令牌作为授权。由于该密钥对 BigQuery 有效,因此您将获得包含该 BigQuery 的项目。
要查看所有项目,您可以查看文档[1]中的此代码:
require_once __DIR__ . '/vendor/autoload.php';
$client = new Google_Client();
$client->setApplicationName('Google-CloudResourceManagerSample/0.1');
$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/cloud-platform');
$service = new Google_Service_CloudResourceManager($client);
$optParams = [];
do {
$response = $service->projects->listProjects($optParams);
foreach ($response['projects'] as $project) {
// TODO: Change code below to process each `project` resource:
echo '<pre>', var_export($project, true), '</pre>', "\n";
}
$optParams['pageToken'] = $response->getNextPageToken();
} while ($optParams['pageToken']);
?>
推荐阅读
- flutter - 带有flutter_maps包的mapbox
- sql - SQL:多列的直方图
- java - 如何按对象内部的对象字段排序?
- c# - 客户端在连接到 Azure SQL 数据库时遇到问题
- javascript - req.body 抛出一个空的 {}
- r - 您如何检查 R Shiny 中的所有后代是否都是干净的(未失效)?
- c++ - 如何乘以 std::vector
通过 int 向量的每个元素应该是一位数? - python - 如何编写一个函数,它接受一个文件名并返回一个字符串,其中所有 \n 字符都替换为“_”
- apache-kafka - 使用 Avro 从 Logastash 发送到 Kafka
- java - JPA - 休眠 - '字段列表'中的未知列'x_xxx_xxxxx'