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.

Gerelateerde artikelen