Määritä Pub/Sub Javan gRPC-kanava HTTP CONNECTia varten
Asenna ProxyDetector GAX-kanavantarjoajan kautta ja säilytä Pub/Subin kohdeosoite ja TLS-identiteetti.
Käytä luodun asiakkaan kanavantarjoajaa, kun Pub/Sub Java gRPC -yhteys tarvitsee HTTP CONNECT -välityspalvelimen. Tavallinen URLConnection-asetus ei muodosta tätä kanavamääritystä.
topic-admin-asiakkaalle:
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 ja TopicAdminSettings ovat Pub/Sub v1 -luokkia; HttpConnectProxiedSocketAddress tulee io.grpc-kirjastosta ja InetSocketAddress java.net-kirjastosta. Esimerkki olettaa tämän kanavan käyttämän tavallisen internet-osoitekohteen.
Tunnistin palauttaa välityspalvelinyhteyden osoitteen alkuperäisen kohteen ohella. gRPC-rakentaja edellyttää, että välityspalvelimen osoite on ratkaistu. Jätä palvelun päätepiste Pub/Subiksi: sen korvaaminen välityspalvelimen isäntänimellä kadottaisi palvelukohteen ja aiotun TLS-identiteetin.
Poista käyttäjänimi/salasana-kutsut todennuksettomalle välityspalvelimelle; julkisia HTTP-ehdokkaita on HTTP-välityspalvelinten luettelosta. Ne kutsut ovat HTTP CONNECTin tunnistetietorajapinta, eivät SOCKS tai yleinen NTLM-toteutus.
Jos virhe tapahtuu ennen gRPC-toimea, kun itsenäisesti luotu tunnistetieto saa tunnuksen, tarkista kyseisen tunnistetiedon HTTP-reitti. Se on tässä näytetyn kanavantarjoajan ulkopuolella.