다음을 통해 공유


파이프라인을 사용하여 열린 작업 영역에서 인바운드 제한된 작업 영역의 레이크하우스에 액세스

파이프라인을 사용하여 작업 영역 간 통신을 설정할 수 있습니다. 즉, 열린 작업 영역과 인바운드 공용 액세스를 제한하는 작업 영역 사이에서 이렇게 할 수 있습니다. 예를 들어 열려 있는 작업 영역에서 파이프라인을 만들어 인바운드 제한된 작업 영역의 레이크하우스에 액세스할 수 있습니다. 이 설정을 사용하면 작업 영역 1의 Notebook이 공용 액세스에 노출하지 않고도 Lakehouse에 안전하게 액세스하고 작업 영역 2의 Delta Lake 테이블을 읽을 수 있습니다.

1단계: 작업 영역 만들기

열려 있는 작업 영역과 제한된 작업 영역이 모두 필요합니다. 이 문서에서는 다음과 같이 작업 영역을 참조합니다.

  • 원본 작업 영역은 공용 액세스 제한 없이 열린 작업 영역입니다. 파이프라인을 만드는 위치입니다.
  • 대상 작업 영역은 인바운드 공용 액세스 제한이 있는 제한된 작업 영역입니다. 레이크하우스를 만드는 곳입니다.

작업 영역을 만들려면 다음 단계를 수행합니다.

  1. Microsoft Fabric에서 두 개의 작업 영역을 만듭니다. 자세한 내용은 작업 영역 만들기를 참조하세요.

  2. 테넌트 설정에서 작업 영역 수준 인바운드 액세스 보호를 사용하도록 설정합니다.

  3. 대상 작업 영역의 경우 작업 영역 수준 프라이빗 링크를 설정합니다.

2단계: 제한된 작업 영역에서 레이크하우스 만들기

다음 Lakehouse 만들기 API를 사용하여 대상(제한된) 작업 영역에 Lakehouse를 만듭니다.

POST https://{workspaceid}.z{xy}.w.api.fabric.microsoft.com/workspaces/{workspaceID}/lakehouses

레이크하우스 만들기를 보여 주는 스크린샷.

3단계: 관리되는 프라이빗 엔드포인트 만들기

원본(열린) 작업 영역에서 관리형 프라이빗 엔드포인트를 만듭니다. 포털 또는 다음 API에서 작업 영역 설정을 사용합니다.

POST https://{workspaceFQDN}/v1/workspaces/{workspaceID}/managedPrivateEndpoints

이 코드에서는 {workspaceFQDN} .입니다 {workspaceID}.z{xy}.w.api.fabric.microsoft.com.

예: POST https://aaaaaaaa000011112222bbbbbbbbbbbb.zaa.w.api.fabric.microsoft.com/v1/workspaces/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/managedPrivateEndpoints.

targetPrivateLinkResourceId 매개 변수는 제한된 작업 영역에서 Azure Private Link 서비스의 리소스 ID입니다. 대상 작업 영역에 관리되는 프라이빗 엔드포인트를 만들려면 이 리소스 ID가 필요합니다.

관리형 프라이빗 엔드포인트를 만들기 위한 API를 보여 주는 스크린샷

작업 영역에 대한 리소스 JSON을 확인하여 Azure에서 이 리소스 ID를 찾을 수 있습니다. JSON의 작업 영역 ID가 의도한 대상 작업 영역과 일치하는지 확인합니다.

리소스 JSON 파일에서 Private Link 리소스 ID를 가져오는 방법을 보여 주는 스크린샷

작업 영역 2의 Private Link 서비스 소유자는 Azure 프라이빗 링크 센터>보류 중인 연결에서 관리되는 프라이빗 엔드포인트에 대한 요청을 승인해야 합니다.

4단계: 레이크하우스에 Delta Lake 테이블 업로드

Azure Storage Explorer를 사용하여 Delta Lake 테이블의 폴더를 제한된 레이크하우스의 관리 스토리지에 업로드합니다.

  1. Storage Explorer로 이동하여 왼쪽 메뉴에서 연결 아이콘을 선택한 다음 , ADLS Gen2 컨테이너 또는 디렉터리를 선택합니다.

  2. OAuth를 사용하여 로그인합니다.

  3. 스토리지의 표시 이름을 입력하고 다음 형식으로 Blob 컨테이너 URL을 입력합니다.

    https://{workspaceID}.z{xy}.onelake.fabric.microsoft.com/{workspaceID}/{lakehouseID}

    이 코드 workspaceID 에서는 대시가 없는 작업 영역 ID이며 {xy} 작업 영역 ID의 처음 두 문자입니다.

    연결 정보 입력을 보여 주는 스크린샷

  4. 연결을 선택합니다. 이제 스토리지가 탐색기 보기에 표시됩니다.

  5. 테이블 폴더에서 사용하려는 Delta Lake 테이블을 업로드합니다. 이 예제에서는 고객 테이블을 사용합니다.

    폴더를 업로드하는 옵션을 보여 주는 스크린샷

5단계: 제한된 작업 영역에서 Notebook 만들기

테이블에서 읽고 새 테이블에 쓰는 Notebook을 만듭니다. 이렇게 하려면 UI를 사용하여 열려 있는 작업 영역에서 Notebook을 만듭니다.

  1. 열린 작업 공간에서 UI를 사용하여 동일한 테이블과 유사한 노트북을 통해 레이크하우스를 만드세요.

    새 테이블에 파일을 로드하는 페이지를 보여 주는 스크린샷

  2. Notebook에서 Lakehouse를 연결하고 새 테이블을 만들기 위한 스크립트를 실행합니다.

    df = spark("SELECT * FROM Lakehouse_Open.customers")
    display(df)
    df.write.mode("overwrite").saveAsTable("Lakehouse_Open.customersnew")
    

    새 테이블을 만들기 위한 스크립트 실행을 보여 주는 스크린샷

  3. 전자 필기장을 저장합니다.

  4. API를 통해 Notebook 정의를 검색하고 위치 결과를 가져옵니다.

    Get Notebook Definition API: GET https://{WorkspaceID w/o (-)}.zxy.w.api.fabric.microsoft.com/{WorkspaceID}/notebooks/getDefinition
    
    Get location API: GET {location}/result
    
  5. Base64에서 JSON으로 notebook-content.py을 변환하고, 변환된 콘텐츠를 복사한 다음 제한된 레이크하우스의 값으로 다음 값을 업데이트한 후 콘텐츠를 JSON에서 Base64로 다시 변환합니다.

  6. 업데이트된 요청 본문을 사용하여 정의가 포함된 Notebook을 만듭니다.

    Create Notebook API: GET https://{WorkspaceID w/o (-)}.zxy.w.api.fabric.microsoft.com/{WorkspaceID}/notebooks
    
    Get location API: GET {location}/result
    

6단계: 열려 있는 작업 영역에서 파이프라인 만들기

  1. 열려 있는 작업 영역에서 패브릭 포털 또는 API를 사용하여 파이프라인을 만듭니다.

  2. 노트북 활동을 추가하세요.

  3. 설정에서 연결을 만듭니다.

    데이터 원본을 연결하기 위한 창을 보여 주는 스크린샷

  4. 제한된 작업 영역을 선택합니다.

    제한된 작업 영역 선택을 보여 주는 스크린샷

  5. Notebook ID를 매개 변수로 추가합니다.

    @pipeline().parameters.notebookId

  6. 파이프라인 매개 변수에 제한된 작업 영역의 실제 Notebook ID를 입력합니다.

    Notebook ID를 추가할 위치를 보여 주는 스크린샷

  7. 파이프라인을 저장하고 파이프라인 ID를 복사합니다.

7단계: API를 통해 파이프라인 실행

  1. API를 사용하여 파이프라인을 트리거합니다. 예를 들어 Bruno를 사용합니다.

    파이프라인 실행에 대한 API 엔드포인트의 형식은 다음과 같습니다.

    https://{openWsIdWithoutDashes}.zxy.w.api.fabric.microsoft.com/v1/workspaces/{openWsId}/items/{pipelineId}/jobs/instances?jobType=Pipeline`
    
    Get location API: GET {location}
    
  2. 실행 상태가 완료되기를 기다립니다. 패브릭 포털의 모니터 페이지에서 상태를 확인할 수 있습니다.

    모니터 페이지를 보여 주는 스크린샷.

8단계: 테이블 만들기 확인

  1. 제한된 작업 영역의 레이크하우스에서 Storage Explorer를 엽니다.

  2. 새 테이블이 만들어졌는지 확인합니다.

  3. 테이블 목록 API를 사용하여 레이크하우스 테이블을 가져옵니다.

    List Tables API: GET https://{openWsIdWithoutDashes}.zxy.w.api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/tables