Giao handler proxy cho các hook REST và auth của BigQuery PHP
Với google/cloud-bigquery 1.39.3, hãy truyền cùng một callable cho httpHandler và authHttpHandler khi cả hai đường đều cần bên trung gian.
Các hook giao nhận REST và yêu cầu token trong google/cloud-bigquery 1.39.3 có thể dùng chung một handler yêu cầu PSR hiểu 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 gán tùy chọn proxy của Guzzle trên mỗi yêu cầu, kể cả endpoint HTTP công khai được chọn từ danh sách proxy HTTP, và hàm khởi tạo truyền callable đó cho cả httpHandler lẫn authHttpHandler. Điều này bao phủ việc giao nhận REST và các yêu cầu xác thực dùng hook đó. Giữ nguyên thiết lập thông tin xác thực được hỗ trợ; thông tin xác thực có transport khác cũng cần được kiểm tra transport đó.
Thêm các ngoại lệ trực tiếp cần thiết qua cấu hình proxy được Guzzle hỗ trợ. Giữ endpoint của API BigQuery làm đích của dịch vụ: đặt địa chỉ proxy vào apiEndpoint sẽ chọn dịch vụ khác thay vì cấu hình tuyến này.
Đây là các tùy chọn của hàm khởi tạo BigQueryClient. Chúng không cấu hình kênh gRPC độc lập và cũng không làm cho Google\Client tương ứng với giao diện setHttpClient trong thư viện Google API PHP Client riêng.