Krokene for REST-levering og tokenforespørsler i google/cloud-bigquery 1.39.3 kan dele en proxy-bevisst PSR-forespørselshandler:

$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 setter Guzzles proxy-innstilling på hver forespørsel, inkludert et offentlig HTTP-endepunkt valgt fra HTTP-proxy-listen, og konstruktøren gir den callable til både httpHandler og authHttpHandler. Dette dekker REST-leveringen og autentiseringsforespørslene som bruker denne kroken. Behold den støttede legitimasjonsoppsettet; legitimasjon med en annen transport krever at også den transporten undersøkes.

Legg til nødvendige direkte unntak via Guzzles støttede proxy-konfigurasjon. Behold BigQuery API-endepunktet som tjenestens mål: å sette en proxy-adresse i apiEndpoint velger en annen tjeneste i stedet for å konfigurere denne ruten.

Dette er konstruktøralternativer for BigQueryClient. De konfigurerer ikke en uavhengig gRPC-kanal og samsvarer ikke med Google\Clients setHttpClient-grensesnitt i det separate Google API PHP Client-biblioteket.

Relaterte artikler