قلاب‌های تحویل REST و درخواست توکن در google/cloud-bigquery 1.39.3 می‌توانند از یک هندلر درخواست PSR آگاه از پروکسی مشترک استفاده کنند:

$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 در هر درخواست گزینه پروکسی Guzzle را تنظیم می‌کند، از جمله یک endpoint عمومی HTTP که از فهرست پروکسی HTTP انتخاب می‌شود، و سازنده همان callable را هم به httpHandler و هم به authHttpHandler می‌دهد. این تحویل REST و درخواست‌های احراز هویتی را که از این قلاب استفاده می‌کنند پوشش می‌دهد. تنظیمات پشتیبانی‌شده اعتبارنامه را نگه دارید؛ اعتبارنامه‌ای که انتقال دیگری دارد نیازمند بررسی آن انتقال هم هست.

استثناهای مستقیم لازم را از طریق پیکربندی پروکسی پشتیبانی‌شده Guzzle اضافه کنید. endpoint API BigQuery را مقصد سرویس نگه دارید: قرار دادن نشانی پروکسی در apiEndpoint به‌جای پیکربندی این مسیر، سرویس دیگری را انتخاب می‌کند.

این‌ها گزینه‌های سازنده BigQueryClient هستند. آن‌ها نه کانال gRPC مستقل را پیکربندی می‌کنند و نه در Google\Client با رابط setHttpClient در کتابخانه جداگانه Google API PHP Client مطابقت دارند.

مقالات مرتبط