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 يغطي خدمة HTTP الخاصة بـStorage. لا يهيّئ أي من التعيينين الآخر تلقائياً.

StorageOptions.http متاح منذ Java Storage 2.14.0. أبقِ أنواع المكتبات واضحة: HttpTransportOptions ينتمي إلى Google Cloud Core وNetHttpTransport إلى مكتبة عميل HTTP من Google.

لعميل Storage الخاص بـgRPC ناقل آخر. اختر باني HTTP لهذا التخصيص بدلاً من إرفاق خيارات HTTP فقط بقناة gRPC.

مقالات ذات صلة