Τα hooks παράδοσης REST και αιτήματος token στο google/cloud-bigquery 1.39.3 μπορούν να μοιράζονται έναν PSR handler αιτημάτων που γνωρίζει το 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 ορίζει την επιλογή proxy του Guzzle σε κάθε αίτημα, μαζί με ένα δημόσιο HTTP endpoint που επιλέγεται από τη λίστα HTTP proxy, και ο constructor δίνει αυτό το callable τόσο στο httpHandler όσο και στο authHttpHandler. Αυτό καλύπτει την παράδοση REST και τα αιτήματα ελέγχου ταυτότητας που χρησιμοποιούν αυτό το hook. Διατηρήστε τη υποστηριζόμενη ρύθμιση διαπιστευτηρίων· ένα διαπιστευτήριο με διαφορετικό transport χρειάζεται να ελεγχθεί και αυτό το transport.

Προσθέστε τις απαιτούμενες άμεσες εξαιρέσεις μέσω της υποστηριζόμενης ρύθμισης proxy του Guzzle. Κρατήστε το endpoint του BigQuery API ως προορισμό της υπηρεσίας: η τοποθέτηση διεύθυνσης proxy στο apiEndpoint επιλέγει άλλη υπηρεσία αντί να ρυθμίζει αυτή τη διαδρομή.

Αυτές είναι επιλογές του constructor του BigQueryClient. Δεν ρυθμίζουν ανεξάρτητο κανάλι gRPC, και ο Google\Client δεν αντιστοιχεί στη διεπαφή setHttpClient της χωριστής βιβλιοθήκης Google API PHP Client.

Σχετικά άρθρα