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 گوگل تعلق دارد.

کلاینت Storage مخصوص gRPC انتقال دیگری دارد. برای این سفارشی‌سازی کارخانه سازنده HTTP را انتخاب کنید، نه اینکه گزینه‌های فقط HTTP را به کانال gRPC بچسبانید.

مقالات مرتبط