Confiez les hooks REST et d'authentification de BigQuery PHP au gestionnaire de proxy
Pour google/cloud-bigquery 1.39.3, fournissez le même callable à httpHandler et authHttpHandler lorsque les deux chemins ont besoin de l'intermédiaire.
Les hooks de livraison REST et de demande de jeton de google/cloud-bigquery 1.39.3 peuvent partager un gestionnaire de requêtes PSR compatible avec un 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,
]);Le callable affecte l'option proxy de Guzzle à chaque requête, y compris un point de terminaison HTTP public choisi dans la liste de proxys HTTP, et le constructeur fournit ce callable à la fois à httpHandler et à authHttpHandler. Cela couvre la livraison REST et les requêtes d'authentification qui utilisent ce hook. Conservez la configuration d'identifiants prise en charge ; un identifiant doté d'un autre transport exige aussi l'examen de ce transport.
Ajoutez les exceptions directes nécessaires via la configuration de proxy prise en charge par Guzzle. Gardez le point de terminaison de l'API BigQuery comme destination du service : placer une adresse de proxy dans apiEndpoint sélectionne un autre service au lieu de configurer cette route.
Ce sont des options du constructeur de BigQueryClient. Elles ne configurent pas un canal gRPC indépendant et ne correspondent pas, dans Google\Client, à l'interface setHttpClient de la bibliothèque distincte Google API PHP Client.