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 অপশন যুক্ত করবেন না।

সম্পর্কিত নিবন্ধ