Udostępnij za pośrednictwem


Kopiowanie danych z listy usługi SharePoint Online przy użyciu usługi Azure Data Factory lub Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory i Usługi Azure Synapse do kopiowania danych z listy usługi SharePoint Online. Artykuł opiera się na działaniu kopiowania, które przedstawia ogólne omówienie działania kopiowania.

Obsługiwane możliwości

Ten łącznik listy usługi SharePoint Online jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości IR
działanie Kopiuj (źródło/-) (1) (2)
Działanie Lookup (1) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła lub ujścia, zobacz tabelę Obsługiwane magazyny danych.

W szczególności ten łącznik usługi SharePoint List Online używa uwierzytelniania jednostki usługi i pobiera dane za pośrednictwem protokołu OData.

Napiwek

Ten łącznik obsługuje kopiowanie danych z listy usługi SharePoint Online, ale nie z pliku. Dowiedz się, jak skopiować plik z sekcji Kopiuj plik z usługi SharePoint Online .

Rozpocznij

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z listą usługi SharePoint Online przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z listą usługi SharePoint Online w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj program SharePoint i wybierz łącznik listy usługi SharePoint Online.

    Zrzut ekranu przedstawiający łącznik listy usługi SharePoint Online.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający konfigurację połączonej usługi dla listy usługi SharePoint Online.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach, których można użyć do definiowania jednostek specyficznych dla łącznika listy usługi SharePoint Online.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane dla połączonej usługi listy usługi SharePoint Online:

Właściwości Opis Wymagane
type Właściwość type musi być ustawiona na: SharePointOnlineList. Tak
siteUrl Adres URL witryny usługi SharePoint Online, np. https://contoso.sharepoint.com/sites/siteName. Tak
servicePrincipalId Identyfikator aplikacji (klienta) aplikacji zarejestrowanej w usłudze Microsoft Entra ID. Tak
servicePrincipalCredentialType Określ typ poświadczeń, który ma być używany do uwierzytelniania jednostki usługi. Dozwolone wartości to ServicePrincipalCert i ServicePrincipalKey. Nie.
Dla elementu ServicePrincipalCert
servicePrincipalEmbeddedCert Określ certyfikat zakodowany w formacie base64 aplikacji zarejestrowanej w identyfikatorze Entra firmy Microsoft i upewnij się, że typ zawartości certyfikatu to PKCS #12. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Musisz skonfigurować ustawienia uprawnień odwołujące się do tego artykułu. Nie.
servicePrincipalEmbeddedCertPassword Określ hasło certyfikatu, jeśli certyfikat jest zabezpieczony hasłem. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Nie.
Dla klucza ServicePrincipalKey
servicePrincipalKey Klucz aplikacji. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Zapoznaj się z tą sekcją , aby uzyskać więcej informacji, w tym ustawień uprawnień. Nie.
tenantId Identyfikator dzierżawy, w ramach którego znajduje się aplikacja. Tak
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Jeśli nie zostanie określony, zostanie użyte domyślne środowisko Azure Integration Runtime. Nie.

Uwaga

Jeśli używasz uwierzytelniania klucza jednostki usługi opartego na usługach Azure ACS (Access Control Services), zalecamy przejście na uwierzytelnianie certyfikatu jednostki usługi z powodu planu wycofania usługi ACS.

Przykład 1: Używanie uwierzytelniania klucza jednostki usługi

{
    "name": "SharePointOnlineList",
    "properties": {
        "type": "SharePointOnlineList",
        "typeProperties": {
            "siteUrl": "<site URL>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType":  "ServicePrincipalKey",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenantId": "<tenant ID>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Przykład 2: Używanie uwierzytelniania certyfikatu jednostki usługi

{
    "name": "SharePointOnlineList",
    "properties": {
        "type": "SharePointOnlineList",
        "typeProperties": {
            "siteUrl": "<site URL>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalEmbeddedCert": { 
                "type": "SecureString", 
                "value": "<base64 encoded string of (.pfx) certificate data>"
            },
            "servicePrincipalEmbeddedCertPassword": { 
                "type": "SecureString", 
                "value": "<password of your certificate>"
            },
            "tenantId": "<tenant ID>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Udzielanie uprawnień do korzystania z klucza jednostki usługi

Łącznik usługi SharePoint List Online używa uwierzytelniania jednostki usługi do nawiązywania połączenia z programem SharePoint. Wykonaj następujące kroki, aby go skonfigurować:

  1. Zarejestruj aplikację w Platforma tożsamości Microsoft. Aby dowiedzieć się, jak to zrobić, zobacz Szybki start: rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft. Zanotuj te wartości, których użyjesz do zdefiniowania połączonej usługi:

    • Application ID
    • Klucz aplikacji
    • Identyfikator dzierżawy
  2. Udziel uprawnień witryny usługi SharePoint Online do zarejestrowanej aplikacji, wykonując poniższe kroki. W tym celu potrzebna jest rola administratora witryny.

    1. Otwórz link witryny usługi SharePoint Online. Na przykład adres URL w formacie https://<your-site-url>/_layouts/15/appinv.aspx , w którym symbol zastępczy <your-site-url> to Twoja witryna.

    2. Przeszukaj zarejestrowany identyfikator aplikacji, wypełnij puste pola i kliknij pozycję "Utwórz".

      • Domena aplikacji: contoso.com

      • Adres URL przekierowania: https://www.contoso.com

      • Plik XML żądania uprawnień:

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

        Udziel uprawnień witryny usługi SharePoint Online do zarejestrowanej aplikacji, jeśli masz rolę administratora witryny.

      Uwaga

      W kontekście konfigurowania łącznika programu SharePoint "Domena aplikacji" i "Adres URL przekierowania" odnoszą się do aplikacji programu SharePoint zarejestrowanej w usłudze Microsoft Entra ID, aby zezwolić na dostęp do danych programu SharePoint. "Domena aplikacji" to domena, w której jest hostowana witryna programu SharePoint. Jeśli na przykład witryna programu SharePoint znajduje się w lokalizacji "https://contoso.sharepoint.com", wówczas "Domena aplikacji" będzie miała wartość "contoso.sharepoint.com". "Adres URL przekierowania" to adres URL, do którego aplikacja programu SharePoint zostanie przekierowana po uwierzytelnieniu użytkownika i udzieleniu uprawnień do aplikacji. Ten adres URL powinien być stroną w witrynie programu SharePoint, do której aplikacja ma uprawnienia dostępu. Można na przykład użyć adresu URL strony, która wyświetla listę plików w bibliotece lub stronę wyświetlającą zawartość dokumentu.

    3. Kliknij pozycję "Ufaj jej" dla tej aplikacji.

Właściwości zestawu danych

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz Zestawy danych i połączone usługi. Poniższa sekcja zawiera listę właściwości obsługiwanych przez zestaw danych tabeli SAP.

Właściwości Opis Wymagania
type Właściwość type zestawu danych musi być ustawiona na SharePointOnlineLResource. Tak
listName Nazwa listy usługi SharePoint Online. Należy pamiętać, że apostrof (') nie jest dozwolony w nazwach plików. Tak

Przykład

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

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz Pipelines (Potoki). Poniższa sekcja zawiera listę właściwości obsługiwanych przez źródło listy usługi SharePoint Online.

Lista usługi SharePoint Online jako źródło

Aby skopiować dane z listy usługi SharePoint Online, w sekcji Źródło działania kopiowania są obsługiwane następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type źródła działania kopiowania musi być ustawiona na SharePointOnlineListSource. Tak
zapytanie Niestandardowe opcje zapytania OData na potrzeby filtrowania danych. Przykład: "$top=10&$select=Title,Number". Nie.
httpRequestTimeout Limit czasu (w sekundzie) żądania HTTP w celu uzyskania odpowiedzi. Wartość domyślna to 300 (5 minut). Nie.

Przykład

"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>"
            }
        }
    }
]

Uwaga

Nie można wybrać więcej niż jednego typu danych dla źródła listy usługi SharePoint Online.

Mapowanie typów danych dla listy usługi SharePoint Online

Podczas kopiowania danych z listy usługi SharePoint Online następujące mapowania są używane między typami danych listy usługi SharePoint Online i tymczasowymi typami danych używanymi przez usługę wewnętrznie.

Typ danych usługi SharePoint Online Typ danych OData Typ danych tymczasowych
Jeden wiersz tekstu Edm.String String
Wiele wierszy tekstu Edm.String String
Wybór (menu z opcjami do wyboru) Edm.String String
Liczba (1, 1.0, 100) Edm.Double Liczba rzeczywista
Waluta ($, ¥, €) Edm.Double Liczba rzeczywista
Data i godzina Edm.DateTime DateTime
Wyszukiwanie (informacje w tej witrynie) Edm.Int32 Int32
Tak/nie (pole wyboru) Edm.Boolean Wartość logiczna
Osoba lub grupa Edm.Int32 Int32
Hiperlink lub obraz Edm.String String
Obliczone (obliczanie na podstawie innych kolumn) Edm.String / Edm.Double / Edm.DateTime / Edm.Boolean Ciąg / Podwójny / Data/Godzina / Wartość logiczna
Załącznik Nieobsługiwane
Wynik zadania Nieobsługiwane
Dane zewnętrzne Nieobsługiwane
Zarządzane metadane Nieobsługiwane

Kopiowanie pliku z usługi SharePoint Online

Plik z usługi SharePoint Online można skopiować przy użyciu działania sieci Web, aby uwierzytelnić i pobrać token dostępu z usługi SPO, a następnie przekazać do kolejnych działanie Kopiuj, aby skopiować dane za pomocą łącznika HTTP jako źródła.

Przepływ kopiowania plików programu sharepoint

  1. Postępuj zgodnie z sekcją Udzielanie uprawnień do korzystania z klucza jednostki usługi, aby utworzyć aplikację Firmy Microsoft Entra i udzielić uprawnień do usługi SharePoint Online.

  2. Utwórz działanie sieci Web, aby uzyskać token dostępu z usługi SharePoint Online:

    • Adres URL: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Zastąp identyfikator dzierżawy.
    • Metoda: POST
    • Nagłówki:
      • Content-Type: application/x-www-form-urlencoded
    • Treść: 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]. Zastąp identyfikator klienta (identyfikator aplikacji), klucz tajny klienta (klucz aplikacji), identyfikator dzierżawy i nazwę dzierżawy (dzierżawy programu SharePoint).

    Uwaga

    Ustaw opcję Bezpieczne dane wyjściowe na wartość true w działaniu sieci Web, aby uniemożliwić logowanie wartości tokenu w postaci zwykłego tekstu. Wszelkie dalsze działania, które używają tej wartości, powinny mieć ustawioną opcję Secure Input na wartość true.

  3. Utwórz łańcuch z działanie Kopiuj z łącznikiem HTTP jako źródłem, aby skopiować zawartość pliku usługi SharePoint Online:

    • Połączona usługa HTTP:
      • Podstawowy adres URL: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Zastąp adres URL witryny i ścieżkę względną do pliku. Pamiętaj, aby uwzględnić adres URL witryny programu SharePoint wraz z nazwą domeny, taką jak https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value.
      • Typ uwierzytelniania: Anonimowy (aby użyć tokenu elementu nośnego skonfigurowanego w źródle działania kopiowania później)
    • Zestaw danych: wybierz odpowiedni format. Aby skopiować plik w stanie rzeczywistym, wybierz typ "Binary".
    • źródło działanie Kopiuj:
      • Metoda żądania: GET
      • Dodatkowy nagłówek: użyj następującego wyrażenia@{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, które używa tokenu elementu nośnego wygenerowanego przez nadrzędne działanie sieci Web jako nagłówek autoryzacji. Zastąp nazwę działania sieci Web.
    • Skonfiguruj ujście działania kopiowania dla dowolnego obsługiwanego miejsca docelowego ujścia.

Uwaga

Nawet jeśli aplikacja Microsoft Entra ma FullControl uprawnienia do usługi SharePoint Online, nie można kopiować plików z bibliotek dokumentów z włączoną usługą IRM.

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Aby uzyskać listę magazynów danych obsługiwanych przez działanie kopiowania jako źródła i ujścia, zobacz Obsługiwane magazyny danych i formaty.