HTTP CONNECT साठी Pub/Sub Java चा gRPC चॅनेल कॉन्फिगर करा
GAX चॅनेल प्रदात्याद्वारे ProxyDetector इन्स्टॉल करा आणि Pub/Sub चा लक्ष्य पत्ता व TLS ओळख अबाधित ठेवा.
जेव्हा Pub/Sub Java gRPC कनेक्शनला HTTP CONNECT प्रॉक्सी आवश्यक असते तेव्हा व्युत्पन्न केलेल्या क्लायंटचा चॅनेल प्रदाता वापरा. सामान्य URLConnection सेटिंग हे चॅनेल कॉन्फिगरेशन प्रस्थापित करत नाही.
topic-admin क्लायंटसाठी:
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 ठेवा: त्याला प्रॉक्सी होस्टनावाने बदलल्यास सेवा लक्ष्य आणि इच्छित TLS ओळख जाईल.
अप्रमाणित प्रॉक्सीसाठी वापरकर्तानाव/पासवर्ड कॉल काढा; सार्वजनिक HTTP उमेदवार HTTP प्रॉक्सी यादीतून मिळतात. ते कॉल HTTP CONNECT क्रेडेन्शियल इंटरफेस आहेत, SOCKS किंवा सामान्य NTLM अंमलबजावणी नाही.
gRPC क्रियेपूर्वी अयशस्वी झाले आणि स्वतंत्रपणे तयार केलेले क्रेडेन्शियल टोकन मिळवत असेल, तर त्या क्रेडेन्शियलचा HTTP मार्ग तपासा. तो येथे दर्शविलेल्या चॅनेल प्रदात्याच्या बाहेर आहे.