다음을 통해 공유


OneLake 및 ADLS(Azure Data Lake Storage) Gen2 API 패리티

OneLake는 ADLS(Azure Data Lake Storage) Gen2와 동일한 API를 지원하므로 사용자는 현재 이미 사용 중인 도구를 사용하여 OneLake에서 데이터를 읽고 쓰고 관리할 수 있습니다. OneLake는 관리형 논리 데이터 레이크이므로 일부 기능은 Azure Storage와 다르게 관리되며 일부 동작은 OneLake에서 지원되지 않습니다. 이 페이지에서는 OneLake 관리 폴더, API 차이점 및 오픈 소스 호환성을 포함하여 이러한 차이점을 자세히 설명합니다.

관리 OneLake 폴더

Fabric 테넌트에서 작업 영역 및 데이터 항목은 OneLake의 구조를 정의합니다. 작업 영역 및 항목 관리는 Fabric 환경을 통해 수행됩니다. OneLake는 ADLS Gen2 API를 통해 작업 영역 또는 항목을 만들거나 업데이트하거나 삭제하는 것을 지원하지 않습니다. OneLake는 Fabric 관리 포털에서 테넌트 및 작업 영역을 변경해야 하므로 작업 영역(컨테이너) 수준 및 테넌트(계정) 수준에서만 HEAD 호출을 허용합니다.

또한 OneLake는 ADLS Gen2 API를 통해 항목 및 관리 하위 폴더를 생성, 삭제 또는 이름 바꾸기로부터 보호하여 Fabric 항목에 대한 폴더 구조를 적용합니다. Fabric 관리 폴더에는 항목의 최상위 폴더(예: /MyLakehouse.lakehouse) 및 해당 폴더의 첫 번째 수준(예: /MyLakehouse.lakehouse/Files/MyLakehouse.lakehouse/Tables)이 포함됩니다.

이러한 관리 폴더 내에서 만든 모든 폴더 또는 파일에 대해 CRUD 작업을 수행하고 작업 영역 및 항목 폴더에서 읽기 전용 작업을 수행할 수 있습니다.

지원되지 않는 요청 헤더 및 매개 변수

사용자가 만든 파일 및 폴더에서도 OneLake는 ADLS Gen2 API를 통해 일부 Fabric 관리 작업을 제한합니다. Fabric 환경을 사용하여 사용 권한을 업데이트하거나 항목 및 작업 영역을 편집해야 하며 Fabric은 액세스 계층과 같은 다른 옵션을 관리합니다.

OneLake는 ADLS Gen2와 동일한 헤더를 거의 모두 허용하며 OneLake에서 허용되지 않는 작업과 관련된 일부 헤더만 무시합니다. 이러한 헤더는 전체 호출의 동작을 변경하지 않으므로 OneLake는 금지된 헤더를 무시하고 새 'x-ms-rejected-headers' 응답 헤더에 반환하며 나머지 호출을 허용합니다. 예를 들어 OneLake는 PUT 호출에서 'x-ms-owner' 매개 변수를 무시합니다. Fabric과 OneLake는 Azure Storage와 동일한 담당 사용자 개념이 없기 때문에 무시됩니다.

쿼리 매개 변수가 전체 호출의 동작을 변경하기 때문에 OneLake는 허용되지 않는 쿼리 매개 변수가 포함된 요청을 거부합니다. 예를 들어 OneLake는 Azure Storage API를 통해 액세스 제어 설정을 지원하지 않으므로 'setAccessControl' 매개 변수를 사용하는 UPDATE 호출이 차단됩니다.

OneLake는 다음 동작과 연결된 요청 헤더 및 URI 매개 변수를 허용하지 않습니다.

  • 액세스 제어 설정
    • URI 매개 변수:
      • 작업: setAccessControl(요청이 거부됨)
      • 작업: setAccessControlRecursive(요청이 거부됨)
    • 요청 헤더:
      • x-ms-owner(헤더가 무시됨)
      • x-ms-group(헤더가 무시됨)
      • x-ms-permissions(헤더가 무시됨)
      • x-ms-group(헤더가 무시됨)
      • x-ms-acls(헤더가 무시됨)
  • 암호화 범위
    • 요청 헤더:
      • x-ms-encryption-key(헤더가 무시됨)
      • x-ms-encryption-key(헤더가 무시됨)
      • x-ms-encryption-algorithm:AES256(헤더가 무시)
  • 핫 액세스 계층
    • 요청 헤더:
      • x-ms-access-tier(헤더가 무시됨)

응답 헤더 차이점

OneLake는 ADLS Gen2와 다른 권한 모델을 사용하므로 사용 권한과 관련된 응답 헤더는 다르게 처리됩니다.

  • OneLake에 담당 사용자 또는 그룹이 없기 때문에 'x-ms-owner' 및 'x-ms-group'은 항상 '$superuser'를 반환합니다.
  • OneLake에 담당 사용자, 그룹 또는 공용 액세스 권한이 없으므로 'x-ms-permissions'는 항상 '---------'를 반환합니다.
  • 'x-ms-acl'은 'rwx' 형식으로 POSIX ACL(액세스 제어 목록)로 변환된 호출 사용자에 대한 Fabric 권한을 반환합니다.

오픈 소스 통합

OneLake는 ADLS Gen2와 동일한 API를 지원하므로 ADLS Gen2와 호환되는 많은 오픈 소스 라이브러리 및 패키지가 OneLake와 원활하게 작동합니다. 다른 라이브러리는 OneLake 엔드포인트 또는 기타 호환성 문제를 수용하기 위해 작은 업데이트가 필요할 수 있습니다. 다음 라이브러리는 최근 변경 내용으로 인해 OneLake와 호환되는 것으로 확인되었습니다. 이 목록은 일부만 포함하고 있습니다.

예제

작업 영역 내의 항목 나열

GET https://onelake.dfs.fabric.microsoft.com/myWorkspace?resource=filesystem&recursive=false

레이크하우스 내에 폴더 만들기

PUT https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/newFolder/?resource=directory