HTTP CONNECT အတွက် Pub/Sub Java ၏ gRPC ချန်နယ်ကို ဖွဲ့စည်းခြင်း
GAX ချန်နယ် ပံ့ပိုးသူမှတစ်ဆင့် ProxyDetector ကို တပ်ဆင်ပြီး Pub/Sub ၏ ပစ်မှတ်လိပ်စာနှင့် TLS အထောက်အထားကို ထိန်းသိမ်းပါ။
Pub/Sub Java gRPC ချိတ်ဆက်မှုတွင် HTTP CONNECT ပရောက်စီ လိုအပ်သောအခါ ဖန်တီးထားသော client ၏ ချန်နယ် ပံ့ပိုးသူကို အသုံးပြုပါ။ သာမန် URLConnection ဆက်တင်သည် ဤချန်နယ်ဖွဲ့စည်းမှုကို မတည်ဆောက်ပါ။
topic-admin client အတွက်−
var channelProvider = TopicAdminSettings
.defaultGrpcTransportProviderBuilder()
.setChannelConfigurator(channel -> channel.proxyDetector(target ->
HttpConnectProxiedSocketAddress.newBuilder()
.setProxyAddress(new InetSocketAddress("proxy.example", 8080))
.setTargetAddress((InetSocketAddress) target)
.setUsername(proxyUser)
.setPassword(proxyPassword)
.build()))
.build();
var settings = TopicAdminSettings.newBuilder()
.setTransportChannelProvider(channelProvider)
.build();
try (TopicAdminClient client = TopicAdminClient.create(settings)) {
// Perform the application's intended topic-admin operation here.
}TopicAdminClient နှင့် TopicAdminSettings သည် Pub/Sub v1 အတန်းများဖြစ်သည်။ HttpConnectProxiedSocketAddress သည် io.grpc မှ လာပြီး InetSocketAddress သည် java.net မှ လာသည်။ ဥပမာသည် ဤချန်နယ်အသုံးပြုသော သာမန်အင်တာနက်လိပ်စာ ပစ်မှတ်ကို ယူဆသည်။
ရှာဖွေစက်သည် မူလပစ်မှတ်နှင့်အတူ ပရောက်စီချိတ်ဆက်မှုလိပ်စာကို ပြန်ပေးသည်။ gRPC တည်ဆောက်သူသည် ပရောက်စီလိပ်စာကို ဖြေရှင်းရန် လိုအပ်သည်။ ဝန်ဆောင်မှု အဆုံးမှတ်ကို Pub/Sub အဖြစ် ထားပါ− ပရောက်စီ hostname ဖြင့် အစားထိုးပါက ဝန်ဆောင်မှုပစ်မှတ်နှင့် ရည်ရွယ်ထားသော TLS အထောက်အထား ဆုံးရှုံးမည်။
အထောက်အထားမစစ်သော ပရောက်စီအတွက် အသုံးပြုသူအမည်/စကားဝှက် ခေါ်ဆိုမှုများကို ဖယ်ရှားပါ။ အများပြည်သူ HTTP ကိုယ်စားလှယ်များကို HTTP proxy စာရင်းတွင် တွေ့နိုင်သည်။ ထိုခေါ်ဆိုမှုများသည် HTTP CONNECT အထောက်အထား အင်တာဖေ့စ်ဖြစ်ပြီး SOCKS သို့မဟုတ် ယေဘုယျ NTLM အကောင်အထည်ဖော်မှု မဟုတ်ပါ။
gRPC လုပ်ဆောင်ချက်မတိုင်မီ မအောင်မြင်ဘဲ သီးခြားဖန်တီးထားသော အထောက်အထားက token ရရှိပါက ထိုအထောက်အထား၏ HTTP လမ်းကြောင်းကို စစ်ဆေးပါ။ ၎င်းသည် ဤနေရာတွင် ပြသထားသော ချန်နယ်ပံ့ပိုးသူ၏ အပြင်ဘက်ဖြစ်သည်။