다음을 통해 공유


관리 ID를 사용하여 연속 내보내기 작업 실행

연속 내보내기 작업은 주기적으로 실행되는 쿼리를 사용하여 데이터를 외부 테이블로 내보냅니다.

연속 내보내기 작업은 다음 시나리오에서 관리 ID 로 구성해야 합니다.

  • 외부 테이블이 가장 인증을 사용하는 경우
  • 쿼리가 다른 데이터베이스의 테이블을 참조하는 경우
  • 쿼리가 활성화된 행 수준 보안 정책을 사용하여 테이블을 참조하는 경우

관리 ID로 구성된 연속 내보내기 작업은 관리 ID를 대신하여 수행됩니다.

이 문서에서는 시스템 할당 또는 사용자 할당 관리 ID를 구성하고 해당 ID를 사용하여 연속 내보내기 작업을 만드는 방법을 알아봅니다.

사전 요구 사항

관리 ID 구성

두 가지 종류의 관리 ID가 있습니다.

  • 시스템 할당: 시스템 할당 ID가 클러스터에 연결되고 클러스터가 제거되면 제거됩니다. 클러스터당 하나의 시스템 할당 ID만 허용됩니다.

  • 사용자 할당: 사용자가 할당한 관리 ID는 독립 실행형 Azure 리소스입니다. 여러 사용자 할당 ID를 클러스터에 할당할 수 있습니다.

다음 탭 중 하나를 선택하여 기본 관리 ID 유형을 설정합니다.

  1. 단계에 따라 사용자 할당 ID를 추가합니다.

  2. Azure Portal 관리 ID 리소스의 왼쪽 메뉴에서 속성을 선택합니다. 다음 단계에서 사용할 테넌트 ID보안 주체 ID 를 복사하여 저장합니다.

    관리 ID ID가 있는 Azure Portal 영역의 스크린샷

  3. 다음 .alter-merge policy managed_identity 명령을 실행하여 를 이전 단계의 관리 ID 개체 ID로 바꿉 <objectId> 니다. 이 명령은 관리 ID 를 연속 내보내기에서 사용할 수 있도록 클러스터에서 관리 ID 정책을 설정합니다.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    참고

    특정 데이터베이스에서 정책을 설정하려면 대신 을 cluster사용합니다database <DatabaseName>.

  4. 다음 명령을 실행하여 외부 테이블이 포함된 데이터베이스와 같이 연속 내보내기에 사용되는 모든 데이터베이스에 대해 관리 ID 데이터베이스 뷰어 권한을 부여합니다.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    를 관련 데이터베이스로, <objectId> 2단계의 관리 ID 보안 주체 ID<tenantId>, 2단계의 Microsoft Entra ID 테넌트 ID로 바꿉 <DatabaseName> 니다.

외부 테이블 설정

외부 테이블은 Azure Blob Storage, Azure Data Lake Gen1, Azure Data Lake Gen2 또는 SQL Server 같은 Azure Storage에 있는 데이터를 참조합니다.

다음 탭 중 하나를 선택하여 Azure Storage를 설정하거나 외부 테이블을 SQL Server.

  1. 스토리지 연결 문자열 템플릿을 기반으로 연결 문자열 만듭니다. 이 문자열은 액세스할 리소스와 해당 인증 정보를 나타냅니다. 연속 내보내기 흐름의 경우 가장 인증을 사용하는 것이 좋습니다.

  2. .create 또는 .alter 외부 테이블을 실행하여 테이블을 만듭니다. 이전 단계의 연결 문자열 storageConnectionString 인수로 사용합니다.

    예를 들어 다음 명령은 Azure Blob Storage 의 의 CSV 형식 데이터를 mycontainermystorageaccount 참조하는 를 만듭니다MyExternalTable. 테이블에는 정수에 대한 열과 문자열 s에 대한 x 열이 두 개 있습니다. 연결 문자열 로 끝나;impersonate며, 이는 가장 인증을 사용하여 데이터 저장소에 액세스하도록 나타냅니다.

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. 관련 외부 데이터 저장소에 대한 관리 ID 쓰기 권한을 부여합니다. 연속 내보내기 작업은 관리 ID를 대신하여 데이터 저장소로 데이터를 내보내기 때문에 관리 ID에 쓰기 권한이 필요합니다.

    외부 데이터 저장소 필요한 사용 권한 사용 권한 부여
    Azure Blob Storage Storage Blob 데이터 기여자 Azure 역할 할당
    Data Lake Storage Gen2 Storage Blob 데이터 기여자 Azure 역할 할당
    Data Lake Storage Gen1 참가자 Azure 역할 할당

연속 내보내기 작업 만들기

다음 탭 중 하나를 선택하여 사용자 할당 또는 시스템 할당 관리 ID를 대신하여 실행되는 연속 내보내기 작업을 만듭니다.

관리 ID 개체 ID로 managedIdentity 설정된 속성을 사용하여 .create-or-alter continuous-export 명령을 실행합니다.

예를 들어 다음 명령은 사용자가 할당한 관리 ID를 대신하여 에서 로 데이터를 MyTable 내보내는 MyExternalTable 라는 MyExport 연속 내보내기 작업을 만듭니다. <objectId> 는 관리 ID 개체 ID여야 합니다.

.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable