google/cloud-bigquery 1.39.3 ရှိ REST ပို့ဆောင်ရေးနှင့် token တောင်းဆိုမှု ချိတ်များသည် proxy ကို သိသော PSR တောင်းဆိုမှု handler ကို မျှဝေနိုင်သည်−

$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 ၏ proxy ရွေးချယ်မှုကို သတ်မှတ်ပြီး HTTP proxy စာရင်းမှ ရွေးချယ်ထားသော အများသုံး HTTP endpoint လည်း ပါဝင်သည်၊ constructor သည် ထို callable ကို httpHandler နှင့် authHttpHandler နှစ်ခုလုံးသို့ ပေးသည်။ ယင်းက REST ပို့ဆောင်ရေးနှင့် ထိုချိတ်ကို အသုံးပြုသော အတည်ပြုတောင်းဆိုမှုများကို ဖုံးလွှမ်းသည်။ ပံ့ပိုးထားသော credential သတ်မှတ်မှုကို ထိန်းသိမ်းပါ။ အခြား transport ရှိသော credential အတွက် ထို transport ကိုပါ စစ်ဆေးရန် လိုအပ်သည်။

လိုအပ်သော တိုက်ရိုက်ခြွင်းချက်များကို Guzzle ၏ ပံ့ပိုးထားသော proxy ပြင်ဆင်မှု မှတစ်ဆင့် ထည့်ပါ။ BigQuery API endpoint ကို ဝန်ဆောင်မှု ဦးတည်ချက်အဖြစ် ထားရှိပါ။ apiEndpoint တွင် proxy လိပ်စာထည့်ခြင်းသည် ဤလမ်းကြောင်းကို ပြင်ဆင်ခြင်းအစား အခြားဝန်ဆောင်မှုကို ရွေးချယ်သည်။

ယင်းတို့သည် BigQueryClient ၏ constructor ရွေးချယ်မှုများ ဖြစ်သည်။ ၎င်းတို့သည် သီးခြား gRPC ချန်နယ်ကို ပြင်ဆင်ခြင်း မရှိသလို သီးခြား Google API PHP Client စာကြည့်တိုက်ရှိ Google\Client ၏ setHttpClient အင်တာဖေ့စ်နှင့်လည်း မကိုက်ညီပါ။

ဆက်စပ်ဆောင်းပါးများ