Я новичок в GCP.Я создал набор данных Bigquery, следуя этому руководству .
Теперь я пытаюсь получить эти данные с помощью PHP.Я следовал этому другому руководству для этого.
Вот мой код:
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Google\Cloud\BigQuery\BigQueryClient;
use venor\google\cloud\Core\src\ExponentialBackoff;
$projectId = 'abcd';
$query = 'SELECT * FROM `abcd.TestData.BigD2019` LIMIT 1000';
$bigQuery = new BigQueryClient([
'projectId' => $projectId,
]);
$jobConfig = $bigQuery->query($query);
$job = $bigQuery->startQuery($jobConfig);
$backoff = new ExponentialBackoff(10);
$backoff->execute(function () use ($job) {
print('Waiting for job to complete' . PHP_EOL);
$job->reload();
if (!$job->isComplete()) {
throw new Exception('Job has not yet completed', 500);
}
});
$queryResults = $job->queryResults();
$i = 0;
foreach ($queryResults as $row) {
printf('--- Row %s ---' . PHP_EOL, ++$i);
foreach ($row as $column => $value) {
printf('%s: %s' . PHP_EOL, $column, json_encode($value));
}
}
printf('Found %s row(s)' . PHP_EOL, $i);
?>
При попытке выполнить это я получаю ошибку ниже -
Неустранимая ошибка: необработанное исключение 'Google \ Cloud \ Core \ Exception \ ServiceException' с сообщением '{"error": {"errors": [{"domain": "global", "reason": "authError "," message ":" Неверные учетные данные "," locationType ":" header "," location ":" Авторизация "}]," code ": 401," message ":" Неверные учетные данные "}} 'в C:\ xampp \ htdocs \ vendor \ google \ cloud \ Core \ src \ RequestWrapper.php: 336 Трассировка стека: # 0 C: \ xampp \ htdocs \ vendor \ google \ cloud \ Core \ src \ RequestWrapper.php (189): Google\ Cloud \ Core \ RequestWrapper-> convertToGoogleException (Object (GuzzleHttp \ Exception \ ClientException)) # 1 C: \ xampp \ htdocs \ vendor \ google \ cloud \ Core \ src \ RestTrait.php (96): Google \ Cloud \ Core\ RequestWrapper-> send (Object (GuzzleHttp \ Psr7 \ Request), Array) # 2 C: \ xampp \ htdocs \ vendor \ google \ cloud \ BigQuery \ src \ Connection \ Rest.php (218): Google \ Cloud \ BigQuery\ Connection \ Rest-> send ('jobs', 'insert', Array) # 3 C: \ xampp \ htdocs \ vendor \ google \ cloud \ BigQuery \ src \ BigQueryClient.php (370): Google \ Cloud \ BigQuery \ Connection\ Rest-> insertJob (Array) # 4 C: в C: \ xampp \ htdocs \ vendor \ google \ cloud \ Core \ src \ RequestWrapper.php в строке 336
Я не могувыяснить точную проблему.Я предполагаю, что это возможно из-за аутентификации.