Google Cloud Storage Java: HTTP proxy သယ်ယူပို့ဆောင်မှု ပြင်ဆင်ခြင်း
StorageOptions.http ကို ရွေးပြီး transport factory ကို HTTP ဝန်ဆောင်မှု ရွေးချယ်စရာများနှင့် Application Default Credentials နှစ်ခုလုံးသို့ ပေးပါ။
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 နှင့် token endpoint များအတွက် အများသုံး proxy ကို ခွင့်ပြုထားသည့်နေရာတွင် HTTP proxy စာရင်းသည် InetSocketAddress ၏ host နှင့် port အတွက် ကိုယ်စားလှယ်လောင်းများ ပေးသည်။ ထို credentials များ load လုပ်နေစဉ်တွင် factory ကို ပေးပါ၊ ၎င်းတို့၏ HTTP token တောင်းဆိုမှုများ လိုအပ်မည့်အချိန်မတိုင်မီ။
input နှစ်ခုက factory ကို အသုံးပြုသည်။ getApplicationDefault(factory) သည် credential အကောင်အထည်ဖော်မှု၏ HTTP အလုပ်ကို ဖုံးလွှမ်းသည်။ HttpTransportOptions သည် Storage ၏ HTTP ဝန်ဆောင်မှုကို ဖုံးလွှမ်းသည်။ သတ်မှတ်ချက်နှစ်ခုမှ တစ်ခုက အခြားတစ်ခုကို အလိုအလျောက် ပြင်ဆင်ပေးသည် မဟုတ်ပါ။
StorageOptions.http သည် Java Storage 2.14.0 ကတည်းက ရရှိနိုင်သည်။ library အမျိုးအစားများကို တိကျစွာ ထားပါ။ HttpTransportOptions သည် Google Cloud Core နှင့် သက်ဆိုင်ပြီး NetHttpTransport သည် Google ၏ HTTP client library နှင့် သက်ဆိုင်သည်။
gRPC သီးသန့် Storage client တွင် အခြား သယ်ယူပို့ဆောင်မှု ရှိသည်။ ဤ factory စိတ်ကြိုက်ပြင်ဆင်မှုအတွက် HTTP builder ကို ရွေးပါ၊ HTTP သီးသန့် ရွေးချယ်စရာများကို gRPC channel တွင် မချိတ်ဆွဲပါနှင့်။