Die REST-aflewering- en tokenversoek-hakke in google/cloud-bigquery 1.39.3 kan 'n proxy-bewuste PSR-versoekhandler deel:

$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,
]);

Die callable stel Guzzle se proxy-opsie op elke versoek, insluitend 'n publieke HTTP-eindpunt wat uit die HTTP-proxylys gekies word, en die konstruktor gee daardie callable aan beide httpHandler en authHttpHandler. Dit dek REST-aflewering en die verifikasieversoeke wat daardie hak gebruik. Behou die ondersteunde geloofsbrief-opstelling; 'n geloofsbrief wat 'n ander transport besit, vereis dat daardie transport ook ondersoek word.

Voeg vereiste direkte uitsonderings by via Guzzle se ondersteunde proxy-konfigurasie. Hou die BigQuery API-eindpunt as die diensbestemming: om 'n proxy-adres in apiEndpoint te plaas, kies 'n ander diens eerder as om hierdie roete te konfigureer.

Dit is BigQueryClient-konstruktoropsies. Hulle konfigureer nie 'n onafhanklike gRPC-kanaal nie en stem nie ooreen met Google\Client se setHttpClient-koppelvlak in die afsonderlike Google API PHP Client-biblioteek nie.

Verwante artikels