Azure Data Factory 또는 Azure Synapse Analytics를 사용하여 SharePoint Online 목록에서 데이터 복사

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory 및 Azure Synapse 파이프라인에서 복사 작업을 사용하여 SharePoint Online 목록에서 데이터를 복사하는 방법을 설명합니다. 이 문서는 복사 작업의 일반적인 개요를 제공하는 복사 작업을 기반으로 합니다.

지원되는 기능

이 SharePoint Online 목록 커넥터는 다음 기능에 대해 지원됩니다.

지원되는 기능 IR
복사 작업(원본/-) (1) (2)
조회 작업 (1) (2)

① Azure 통합 런타임 ② 자체 호스팅 통합 런타임

원본 및 싱크로 지원되는 데이터 저장소의 목록은 지원되는 데이터 저장소 표를 참조하세요.

특히 이 SharePoint List Online 커넥터는 서비스 주체 인증을 사용하고 OData 프로토콜을 통해 데이터를 검색합니다.

이 커넥터는 SharePoint Online 목록에서 데이터를 복사할 수 있지만 파일은 복사할 수 없습니다. SharePoint Online 섹션에서 파일 복사에서 파일을 복사하는 방법을 알아봅니다.

필수 조건

SharePoint List Online 커넥터는 서비스 주체 인증을 사용하여 SharePoint에 연결합니다. 다음 단계에 따라 설정합니다.

  1. Microsoft ID 플랫폼에 애플리케이션 등록 방법을 알아보려면 빠른 시작: Microsoft ID 플랫폼 애플리케이션 등록을 참조하세요. 연결된 서비스를 정의하는 데 사용하는 다음 값을 기록해 둡다.

    • 애플리케이션 ID
    • 애플리케이션 키
    • 테넌트 ID
  2. 아래 단계를 수행하여 등록된 애플리케이션에 SharePoint Online 사이트 권한을 부여합니다. 이를 수행하려면 사이트 관리자 역할이 필요합니다.

    1. SharePoint Online 사이트 링크(예: https://[your_site_url]/_layouts/15/appinv.aspx 사이트 URL 바꾸기)를 엽니다.

    2. 등록한 애플리케이션 ID를 검색하고 빈 필드를 채운 다음 "만들기"를 클릭합니다.

      • App Do기본:contoso.com

      • 리디렉션 URL: https://www.contoso.com

      • 권한 요청 XML:

        <AppPermissionRequests AllowAppOnlyPolicy="true">
            <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
        </AppPermissionRequests>
        

        Grant SharePoint Online site permission to your registered application when you have site admin role.

      참고 항목

      SharePoint 커넥터를 구성하는 컨텍스트에서 "App Do기본" 및 "리디렉션 URL"은 Microsoft Entra ID에 등록한 SharePoint 앱을 참조하여 SharePoint 데이터에 대한 액세스를 허용합니다. "App Do기본"는 SharePoint 사이트가 호스트되는 기본. 예를 들어 SharePoint 사이트가 ";에 있는 경우 "https://contoso.sharepoint.com"App Do기본"는 "contoso.sharepoint.com"가 됩니다. "리디렉션 URL"은 사용자가 앱에 대한 권한을 인증하고 부여한 후 SharePoint 앱이 리디렉션할 URL입니다. 이 URL은 앱에 액세스할 수 있는 권한이 있는 SharePoint 사이트의 페이지여야 합니다. 예를 들어 라이브러리의 파일 목록을 표시하는 페이지의 URL이나 문서의 내용을 표시하는 페이지를 사용할 수 있습니다.

    3. 이 앱에 대해 "신뢰"를 클릭합니다.

시작하기

파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.

UI를 사용하여 SharePoint Online 목록에 연결된 서비스 만들기

다음 단계를 사용하여 Azure Portal UI에서 SharePoint Online 목록에 대한 연결된 서비스를 만듭니다.

  1. Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.

  2. SharePoint를 검색하고 SharePoint Online 목록 커넥터를 선택합니다.

    Screenshot of the SharePoint Online List connector.

  3. 서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.

    Screenshot of linked service configuration for a SharePoint Online List.

커넥터 구성 세부 정보

다음 섹션에서는 SharePoint Online List 커넥터와 관련된 엔터티를 정의하는 데 사용할 수 있는 속성에 대해 자세히 설명합니다.

연결된 서비스 속성

SharePoint Online 목록에 연결된 서비스에 다음 속성이 지원됩니다.

속성 설명 필수
type type 속성은 SharePointOnlineList로 설정해야 합니다.
siteUrl SharePoint Online 사이트 URL(예: https://contoso.sharepoint.com/sites/siteName
servicePrincipalId Microsoft Entra ID에 등록된 애플리케이션의 애플리케이션(클라이언트) ID입니다. 사용 권한 설정을 비롯한 자세한 내용은 필수 구성 요소를 참조하세요.
servicePrincipalKey 애플리케이션의 키입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다.
tenantId 애플리케이션이 있는 테넌트 ID입니다.
connectVia 데이터 저장소에 연결하는 데 사용할 Integration Runtime입니다. 지정하지 않으면 기본 Azure Integration Runtime이 사용됩니다. 아니요

예제:

{
    "name": "SharePointOnlineList",
    "properties": {
        "type": "SharePointOnlineList",
        "typeProperties": {
            "siteUrl": "<site URL>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenantId": "<tenant ID>"
        }
    }
}

데이터 세트 속성

데이터 세트 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 데이터 세트 및 연결된 서비스를 참조 하세요. 다음 섹션에서는 SAP 테이블 데이터 세트에서 지원하는 속성 목록을 제공합니다.

속성 설명 필수
type 데이터 세트의 type 속성을 SharePointOnlineLResource설정해야 합니다.
listName SharePoint Online 목록의 이름입니다. 파일 이름에는 아포스트로피(')가 허용되지 않습니다.

예제

{
    "name": "SharePointOnlineListDataset",
    "properties":
    {
        "type": "SharePointOnlineListResource",
        "linkedServiceName": {
            "referenceName": "<SharePoint Online List linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties":
        {
            "listName": "<name of the list>"
        }
    }
}

복사 작업 속성

활동을 정의하는 데 사용할 수 있는 섹션 및 속성의 전체 목록은 파이프라인을 참조 하세요. 다음 섹션에서는 SharePoint Online 목록 원본에서 지원되는 속성의 목록을 제공합니다.

SharePoint Online 목록을 원본으로

SharePoint Online 목록에서 데이터를 복사하기 위해 복사 작업 원본 섹션에서 지원되는 속성은 다음과 같습니다.

속성 설명 필수
type 복사 작업 원본의 type 속성을 SharePointOnlineListSource설정해야 합니다.
query 데이터 필터링을 위한 사용자 지정 OData 쿼리 옵션입니다. 예: "$top=10&$select=Title,Number" 아니요
httpRequestTimeout HTTP 요청이 응답을 가져오기 위한 시간 제한(초)입니다. 기본값은 300(5분)입니다. 아니요

예제

"activities":[
    {
        "name": "CopyFromSharePointOnlineList",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SharePoint Online List input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SharePointOnlineListSource",
                "query": "<OData query e.g. $top=10&$select=Title,Number>"
            }, 
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

참고 항목

SharePoint Online 목록 원본에 대해 두 개 이상의 선택 데이터 형식을 선택할 수 없습니다.

SharePoint Online 목록에 대한 데이터 형식 매핑

SharePoint Online 목록에서 데이터를 복사하는 경우 SharePoint Online 목록 데이터 형식과 서비스에서 내부적으로 사용하는 중간 데이터 형식 간에 다음 매핑이 사용됩니다.

SharePoint Online 데이터 형식 OData 데이터 형식 중간 데이터 형식
한 줄 텍스트 Edm.String 문자열
여러 줄 텍스트 Edm.String 문자열
선택(선택할 메뉴) Edm.String 문자열
번호(1, 1.0, 100) Edm.Double 두 배
통화($, ¥, €) Edm.Double 두 배
날짜 및 시간 Edm.DateTime DateTime
조회(사이트에 이미 있는 정보) Edm.Int32 Int32
예/아니요(확인란) Edm.Boolean 부울
개인 또는 그룹 Edm.Int32 Int32
하이퍼링크 또는 사진 Edm.String 문자열
계산됨(다른 열을 기반으로 계산) Edm.String / Edm.Double / Edm.DateTime / Edm.Boolean String/Double/DateTime/Boolean
첨부 파일 지원되지 않음
작업 결과 지원되지 않음
외부 데이터 지원되지 않음
관리되는 메타데이터 지원되지 않음

SharePoint Online에서 파일 복사

웹 작업을 사용하여 SPO에서 액세스 토큰을 인증하고 잡은 다음, 후속 복사 작업 전달하여 HTTP 커넥터를 사용하여 데이터를 원본으로 복사하여 SharePoint Online에서 파일을 복사할 수 있습니다.

sharepoint copy file flow

  1. 필수 구성 요소 섹션에 따라 Microsoft Entra 애플리케이션을 만들고 SharePoint Online에 권한을 부여합니다.

  2. SharePoint Online에서 액세스 토큰을 가져오는 웹 작업을 만듭니다.

    • URL: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. 테넌트 ID를 바꿉니다.
    • 메서드: POST
    • 헤더:
      • Content-Type: application/x-www-form-urlencoded
    • 본문: grant_type=client_credentials&client_id=[Client-ID]@[Tenant-ID]&client_secret=[Client-Secret]&resource=00000003-0000-0ff1-ce00-000000000000/[Tenant-Name].sharepoint.com@[Tenant-ID]. 클라이언트 ID(애플리케이션 ID), 클라이언트 암호(애플리케이션 키), 테넌트 ID 및 테넌트 이름(SharePoint 테넌트)을 대체합니다.

    주의

    토큰 값이 일반 텍스트로 기록되지 않도록 웹 작업에서 보안 출력 옵션을 true로 설정합니다. 이 값을 사용하는 모든 추가 활동에는 보안 입력 옵션이 true로 설정되어 있어야 합니다.

  3. HTTP 커넥터를 원본으로 사용하여 복사 작업 연결하여 SharePoint Online 파일 콘텐츠를 복사합니다.

    • HTTP 연결된 서비스:
      • 기본 URL: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. 사이트 URL 및 파일의 상대 경로를 바꿉다. 도메인 이름(예: https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value)과 함께 SharePoint 사이트 URL을 포함해야 합니다.
      • 인증 유형: 익명 (나중에 복사 작업 원본에 구성된 전달자 토큰 사용)
    • 데이터 세트: 원하는 형식을 선택합니다. 파일을 있는 그대로 복사하려면 "이진" 형식을 선택합니다.
    • 복사 작업 원본:
      • 요청 메서드: GET
      • 추가 헤더: 업스트림 웹 작업에서 생성된 전달자 토큰을 권한 부여 헤더로 사용하는 다음 식을@{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)} 사용합니다. 웹 활동 이름을 바꿉니다.
    • 보통처럼 복사 작업 싱크를 구성합니다.

참고 항목

Microsoft Entra 애플리케이션에 SharePoint Online에 대한 권한이 있 FullControl 더라도 IRM을 사용하도록 설정된 문서 라이브러리에서 파일을 복사할 수 없습니다.

조회 작업 속성

속성에 대한 세부 정보를 알아보려면 조회 작업을 검사.

복사 작업이 원본 및 싱크로 지원하는 데이터 저장소 목록은 지원되는 데이터 저장소 및 형식을 참조 하세요.