var proxy = new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example.net", 8080));

com.google.auth.http.HttpTransportFactory factory = () ->
    new com.google.api.client.http.javanet.NetHttpTransport.Builder()
        .setProxy(proxy)
        .build();

var credentials =
    com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(factory);

var transportOptions =
    com.google.cloud.http.HttpTransportOptions.newBuilder()
        .setHttpTransportFactory(factory)
        .build();

var storage = com.google.cloud.storage.StorageOptions.http()
    .setCredentials(credentials)
    .setTransportOptions(transportOptions)
    .build()
    .getService();

एप्लिकेसनको सामान्य Application Default Credentials सेटअप यथावत् रहन्छ। जहाँ Storage र टोकन इन्डपोइन्टका लागि सार्वजनिक प्रोक्सी अनुमति छ, त्यहाँ HTTP प्रोक्सी सूचीले InetSocketAddress को होस्ट र पोर्टका लागि उम्मेदवार दिन्छ। ती प्रमाणहरू लोड गर्दा नै फ्याक्टरी दिनुहोस्, तिनका HTTP टोकन अनुरोधलाई यसको आवश्यकता पर्नुअघि।

दुई इनपुटले फ्याक्टरी प्रयोग गर्छन्: getApplicationDefault(factory) ले प्रमाण कार्यान्वयनको HTTP काम समेट्छ; HttpTransportOptions ले Storage को HTTP सेवा समेट्छ। दुवैमध्ये कुनै पनि असाइनमेन्टले अर्कोलाई स्वतः कन्फिगर गर्दैन।

StorageOptions.http Java Storage 2.14.0 देखि उपलब्ध छ। लाइब्रेरीका प्रकार स्पष्ट राख्नुहोस्: HttpTransportOptions Google Cloud Core को हो र NetHttpTransport Google को HTTP क्लाइन्ट लाइब्रेरीको।

gRPC-विशेष Storage क्लाइन्टको अर्को ट्रान्सपोर्ट हुन्छ। यो फ्याक्टरी अनुकूलनका लागि HTTP बिल्डर छान्नुहोस्, gRPC च्यानलमा HTTP-मात्र विकल्प जोड्ने सट्टा।

सम्बन्धित लेखहरू