જ્યારે 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 માર્ગ તપાસો. તે અહીં દર્શાવેલ ચેનલ પ્રોવાઇડરની બહાર છે.

સંબંધિત લેખો