Hook-urile de livrare REST și de cerere de token din google/cloud-bigquery 1.39.3 pot partaja un handler de cereri PSR conștient de proxy:

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

Callable-ul setează opțiunea proxy a Guzzle la fiecare cerere, inclusiv un endpoint HTTP public ales din lista de proxy HTTP, iar constructorul oferă acel callable atât pentru httpHandler, cât și pentru authHttpHandler. Acest lucru acoperă livrarea REST și cererile de autentificare care folosesc acel hook. Păstrați configurația de acreditări acceptată; o acreditare cu alt transport necesită inspectarea și a acelui transport.

Adăugați excepțiile directe necesare prin configurația de proxy acceptată de Guzzle. Păstrați endpointul API-ului BigQuery ca destinație a serviciului: plasarea unei adrese de proxy în apiEndpoint selectează alt serviciu în loc să configureze această rută.

Acestea sunt opțiuni ale constructorului BigQueryClient. Nu configurează un canal gRPC independent și nu fac Google\Client să corespundă interfeței setHttpClient din biblioteca separată Google API PHP Client.

Articole similare