Ffurfweddu sianel gRPC Pub/Sub Java ar gyfer HTTP CONNECT
Gosod ProxyDetector drwy ddarparwr sianel GAX, gan gadw cyfeiriad targed a hunaniaeth TLS Pub/Sub yn gyfan.
Defnyddiwch ddarparwr sianel y cleient a gynhyrchwyd pan fo cysylltiad Pub/Sub Java gRPC angen dirprwy HTTP CONNECT. Nid yw gosodiad URLConnection arferol yn sefydlu'r ffurfweddiad sianel hwn.
Ar gyfer y cleient 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 a TopicAdminSettings yw dosbarthiadau Pub/Sub v1; daw HttpConnectProxiedSocketAddress o io.grpc ac InetSocketAddress o java.net. Mae'r enghraifft yn tybio'r targed cyfeiriad rhyngrwyd arferol a ddefnyddir gan y sianel hon.
Mae'r synhwyrydd yn dychwelyd cyfeiriad cysylltiad dirprwy ochr yn ochr â'r targed gwreiddiol. Mae adeiladydd gRPC angen i gyfeiriad y dirprwy gael ei ddatrys. Gadewch bwynt terfyn y gwasanaeth fel Pub/Sub: byddai ei ddisodli ag enw gwesteiwr y dirprwy yn colli targed y gwasanaeth a'r hunaniaeth TLS a fwriadwyd.
Tynnwch yr alwadau enw defnyddiwr/cyfrinair ar gyfer dirprwy heb ei ddilysu; mae ymgeiswyr HTTP cyhoeddus i'w cael yn y rhestr dirprwyon HTTP. Yr alwadau hynny yw rhyngwyneb cymwysterau HTTP CONNECT, nid SOCKS nac ymddiriedolaeth NTLM gyffredinol.
Os digwydd y methiant cyn gweithrediad gRPC tra bo cymhwyster a grëwyd yn annibynnol yn cael tocyn, archwiliwch lwybr HTTP y cymhwyster hwnnw. Mae y tu allan i'r darparwr sianel a ddangosir yma.