บรรทัดสุดท้ายสำคัญ: สร้างไคลเอนต์ระบบไฟล์จากบริการที่กำหนดค่าไว้ แทนที่จะเริ่ม 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) ส่งผ่านไปป์ไลน์ HTTP ของพาเรนต์ จุดสิ้นสุดของบัญชี และการกำหนดค่าที่จัดเก็บที่ใช้ได้ไปยังไคลเอนต์ลูก

ตัวอย่างส่ง http เดียวกันให้ builder ของข้อมูลรับรอง เพราะการได้มาซึ่งโทเค็นเป็นเส้นทางการร้องขออีกเส้นทางหนึ่ง ไคลเอนต์ระบบไฟล์ที่สร้างแยกต่างหากก็ต้องได้รับการถ่ายโอนที่ตั้งใจไว้เช่นกัน ไม่มี builder ก่อนหน้าใดสร้างค่าเริ่มต้น SDK ระดับโลก

ใช้ URL บัญชี ชื่อระบบไฟล์ และค่าข้อมูลระบุตัวตนของแอปพลิเคชัน ProxyOptions และชนิดการถ่ายโอน Netty มาจาก Azure Core builder ของข้อมูลรับรองมาจาก Azure Identity และ builder ของบริการมาจาก Azure Storage Data Lake; InetSocketAddress มาจาก java.net

accountUrl ยังคงเป็นจุดสิ้นสุดของการจัดเก็บ และชื่อระบบไฟล์เลือกไคลเอนต์ลูก ทั้งสองไม่ใช่ที่อยู่พร็อกซี หากจุดสิ้นสุดการจัดเก็บเข้าถึงได้แบบสาธารณะและมีสิทธิ์ใช้ตัวกลางสาธารณะ ให้เลือกโฮสต์และพอร์ตของ ProxyOptions จากรายการพร็อกซี HTTP และเก็บการตั้งค่าการจัดเก็บและข้อมูลระบุตัวตนไว้ตามเดิม

บทความที่เกี่ยวข้อง