Los hooks de entrega REST y de solicitud de token de google/cloud-bigquery 1.39.3 pueden compartir un manejador de solicitudes PSR que entiende 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,
]);

El callable asigna la opción proxy de Guzzle en cada solicitud, incluido un endpoint HTTP público elegido de la lista de proxy HTTP, y el constructor entrega ese callable tanto a httpHandler como a authHttpHandler. Esto cubre la entrega REST y las solicitudes de autenticación que usan ese hook. Mantén la configuración de credenciales admitida; una credencial con otro transporte también exige inspeccionar ese transporte.

Añade las excepciones directas necesarias mediante la configuración de proxy admitida de Guzzle. Mantén el endpoint de la API de BigQuery como destino del servicio: poner una dirección de proxy en apiEndpoint selecciona otro servicio en lugar de configurar esta ruta.

Son opciones del constructor de BigQueryClient. No configuran un canal gRPC independiente ni se corresponden, en Google\Client, con la interfaz setHttpClient de la biblioteca separada Google API PHP Client.

Artículos relacionados