Geef de REST- en auth-hooks van BigQuery PHP de proxy-handler
Voor google/cloud-bigquery 1.39.3 geeft u dezelfde callable aan httpHandler en authHttpHandler wanneer beide paden de tussenlaag nodig hebben.
De hooks voor REST-levering en tokenaanvragen in google/cloud-bigquery 1.39.3 kunnen een proxybewuste PSR-aanvraaghandler delen:
$proxy = 'http://proxy.example:8080';
$http = new \GuzzleHttp\Client();
$send = static function (
\Psr\Http\Message\RequestInterface $request,
array $options = []
) use ($http, $proxy) {
$options['proxy'] = $proxy;
return $http->send($request, $options);
};
$bigQuery = new \Google\Cloud\BigQuery\BigQueryClient([
'projectId' => $projectId,
'httpHandler' => $send,
'authHttpHandler' => $send,
]);De callable zet bij elk verzoek de proxy-optie van Guzzle, inclusief een openbaar HTTP-endpoint uit de HTTP-proxylijst, en de constructor geeft die callable aan zowel httpHandler als authHttpHandler. Dit dekt de REST-levering en de authenticatieverzoeken die die hook gebruiken. Behoud de ondersteunde credential-instelling; een credential met een ander transport vereist dat ook dat transport wordt gecontroleerd.
Voeg benodigde directe uitzonderingen toe via Guzzles ondersteunde proxyconfiguratie. Houd het BigQuery API-endpoint als servicedoel: een proxyadres in apiEndpoint plaatsen kiest een andere service in plaats van deze route te configureren.
Dit zijn constructoropties van BigQueryClient. Ze configureren geen onafhankelijk gRPC-kanaal en laten Google\Client niet overeenkomen met de setHttpClient-interface in de aparte bibliotheek Google API PHP Client.