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:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
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.
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:
Wyszukaj program SharePoint i wybierz łącznik listy usługi SharePoint Online.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
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ć:
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
Udziel uprawnień witryny usługi SharePoint Online do zarejestrowanej aplikacji, wykonując poniższe kroki. W tym celu potrzebna jest rola administratora witryny.
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.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>
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.
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.
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.
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.
- Adres URL:
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ą jakhttps://[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)
- Podstawowy adres URL:
- 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.
- Połączona usługa HTTP:
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.
Powiązana zawartość
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.