Paskutinė eilutė svarbi: išveskite failų sistemos klientą iš sukonfigūruotos paslaugos, o ne paleiskite dar vieną numatytąjį builder:

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

var http = new NettyAsyncHttpClientBuilder()
    .proxy(proxy)
    .build();

var credential = new ClientSecretCredentialBuilder()
    .tenantId(tenantId)
    .clientId(clientId)
    .clientSecret(clientSecret)
    .httpClient(http)
    .build();

var service = new DataLakeServiceClientBuilder()
    .endpoint(accountUrl)
    .credential(credential)
    .httpClient(http)
    .buildClient();

var filesystem = service.getFileSystemClient(fileSystemName);

service.getFileSystemClient(fileSystemName) perduoda tėvinio objekto HTTP grandinę, paskyros galinį tašką ir taikomą saugyklos konfigūraciją vaikui.

Pavyzdyje tas pats http perduodamas kredencialų builderiui, nes rakto gavimas yra dar vienas užklausos kelias. Atskirai sukurtas failų sistemos klientas taip pat turi gauti jam skirtą transportą; joks ankstesnis builder nesukuria visuotinės SDK numatytosios reikšmės.

Naudokite programos paskyros URL, failų sistemos pavadinimą ir tapatybės reikšmes. ProxyOptions ir Netty transporto tipai ateina iš Azure Core, kredencialų builder iš Azure Identity, o paslaugos builder iš Azure Storage Data Lake; InetSocketAddress ateina iš java.net.

accountUrl lieka saugyklos galiniu tašku, o failų sistemos pavadinimas parenka vaiką. Nė vienas jų nėra proxy adresas. Jei saugyklos galinis taškas pasiekiamas viešai ir turite leidimą naudoti viešą tarpininką, pasirinkite ProxyOptions hostą ir portą iš HTTP proxy sąrašo; saugyklos ir tapatybės nustatymus palikite vietoje.

Susiję straipsniai