Kopiowanie danych ze źródła OData przy użyciu usługi Azure Data Factory lub 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 potoku usługi Azure Data Factory lub Synapse Analytics do kopiowania danych ze źródła OData. Artykuł opiera się na działaniu kopiowania, które przedstawia ogólne omówienie działania kopiowania.
Obsługiwane możliwości
Ten łącznik OData jest obsługiwany w następujących możliwościach:
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/ujścia, zobacz Obsługiwane magazyny danych.
W szczególności ten łącznik OData obsługuje następujące elementy:
- OData w wersji 2.0, 3.0 i 4.0.
- Kopiowanie danych przy użyciu jednego z następujących uwierzytelniania: anonimowe, podstawowe, Windows i jednostka usługi Microsoft Entra.
Wymagania wstępne
Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej platformy Azure lub chmury prywatnej Amazon Virtual, musisz skonfigurować własne środowisko Integration Runtime , aby się z nim połączyć.
Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.
Możesz również użyć funkcji środowiska Integration Runtime zarządzanej sieci wirtualnej w usłudze Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania własnego środowiska Integration Runtime.
Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.
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 do magazynu OData przy użyciu interfejsu użytkownika
Wykonaj poniższe kroki, aby utworzyć połączoną usługę w magazynie OData 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 wybierz pozycję Nowe:
Wyszukaj ciąg OData i wybierz łącznik OData.
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 usługi Data Factory specyficznych dla łącznika OData.
Właściwości połączonej usługi
Następujące właściwości są obsługiwane w przypadku połączonej usługi OData:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na wartość OData. | Tak |
Adres URL | Główny adres URL usługi OData. | Tak |
authenticationType | Typ uwierzytelniania używanego do nawiązywania połączenia ze źródłem OData. Dozwolone wartości to Anonimowe, Podstawowe, Windows i AadServicePrincipal. Uwierzytelnianie OAuth oparte na użytkowniku nie jest obsługiwane. Ponadto można skonfigurować nagłówki uwierzytelniania we authHeader właściwości. |
Tak |
authHeaders | Dodatkowe nagłówki żądań HTTP na potrzeby uwierzytelniania. Aby na przykład użyć uwierzytelniania klucza interfejsu API, możesz wybrać typ uwierzytelniania jako "Anonimowy" i określić klucz interfejsu API w nagłówku. |
Nie. |
userName | Określ userName , jeśli używasz uwierzytelniania podstawowego lub Windows. | Nie. |
hasło | Określ hasło dla konta użytkownika określonego dla userName. Oznacz to pole jako typ SecureString , aby przechowywać je bezpiecznie. Możesz również odwołać się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Nie. |
servicePrincipalId | Określ identyfikator klienta aplikacji Microsoft Entra. | Nie. |
aadServicePrincipalCredentialType | Określ typ poświadczeń, który ma być używany do uwierzytelniania jednostki usługi. Dozwolone wartości to: ServicePrincipalKey lub ServicePrincipalCert . |
Nie. |
servicePrincipalKey | Określ klucz aplikacji Microsoft Entra. 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. |
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. | 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. |
tenant | Określ informacje o dzierżawie (nazwę domeny lub identyfikator dzierżawy), w ramach których znajduje się aplikacja. Pobierz go, umieszczając wskaźnik myszy w prawym górnym rogu witryny Azure Portal. | Nie. |
aadResourceId | Określ zasób Firmy Microsoft Entra, którego żądasz w celu uzyskania autoryzacji. | Nie. |
azureCloudType | W przypadku uwierzytelniania jednostki usługi określ typ środowiska chmury platformy Azure, do którego zarejestrowano aplikację Firmy Microsoft Entra. Dozwolone wartości to AzurePublic, AzureChina, AzureUsGovernment i AzureGermany. Domyślnie używane jest środowisko chmury usługi. |
Nie. |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, zostanie użyte domyślne środowisko Azure Integration Runtime. | Nie. |
Przykład 1: Używanie uwierzytelniania anonimowego
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "https://services.odata.org/OData/OData.svc",
"authenticationType": "Anonymous"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Przykład 2: Używanie uwierzytelniania podstawowego
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "Basic",
"userName": "<user name>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Przykład 3: Używanie uwierzytelniania systemu Windows
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "Windows",
"userName": "<domain>\\<user>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Przykład 4. Używanie uwierzytelniania klucza jednostki usługi
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "AadServicePrincipal",
"servicePrincipalId": "<service principal id>",
"aadServicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalKey": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"aadResourceId": "<AAD resource URL>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
Przykład 5. Używanie uwierzytelniania certyfikatu jednostki usługi
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "AadServicePrincipal",
"servicePrincipalId": "<service principal id>",
"aadServicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalEmbeddedCert": {
"type": "SecureString",
"value": "<base64 encoded string of (.pfx) certificate data>"
},
"servicePrincipalEmbeddedCertPassword": {
"type": "SecureString",
"value": "<password of your certificate>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"aadResourceId": "<AAD resource e.g. https://tenant.sharepoint.com>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
Przykład 6. Używanie uwierzytelniania klucza interfejsu API
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "Anonymous",
"authHeader": {
"APIKey": {
"type": "SecureString",
"value": "<API key>"
}
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Właściwości zestawu danych
Ta sekcja zawiera listę właściwości, które obsługuje zestaw danych OData.
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.
Aby skopiować dane z OData, ustaw właściwość type zestawu danych na ODataResource. Obsługiwane są następujące właściwości:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type zestawu danych musi być ustawiona na wartość ODataResource. | Tak |
path | Ścieżka do zasobu OData. | Tak |
Przykład
{
"name": "ODataDataset",
"properties":
{
"type": "ODataResource",
"schema": [],
"linkedServiceName": {
"referenceName": "<OData linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties":
{
"path": "Products"
}
}
}
Właściwości działania kopiowania
Ta sekcja zawiera listę właściwości, które obsługuje źródło OData.
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz Pipelines (Potoki).
OData jako źródło
Aby skopiować dane z usługi OData, następujące właściwości są obsługiwane w sekcji Źródło działania kopiowania:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na wartość ODataSource. | Tak |
zapytanie | Opcje zapytania OData dotyczące filtrowania danych. Przykład: "$select=Name,Description&$top=5" .Uwaga: łącznik OData kopiuje dane z połączonego adresu URL: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source] . Aby uzyskać więcej informacji, zobacz Składniki adresu URL OData. |
Nie. |
httpRequestTimeout | Limit czasu ( wartość TimeSpan ) żądania HTTP w celu uzyskania odpowiedzi. Ta wartość to limit czasu pobierania odpowiedzi, a nie limit czasu odczytu danych odpowiedzi. Jeśli nie zostanie określona, wartość domyślna to 00:30:00 (30 minut). | Nie. |
Przykład
"activities":[
{
"name": "CopyFromOData",
"type": "Copy",
"inputs": [
{
"referenceName": "<OData input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ODataSource",
"query": "$select=Name,Description&$top=5"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Jeśli używasz RelationalSource
wpisanego źródła, nadal jest obsługiwana w taki sposób, jak jest, podczas gdy sugerowane jest użycie nowego źródła w przyszłości.
Mapowanie typów danych dla usługi OData
Podczas kopiowania danych z usługi OData następujące mapowania są używane między typami danych OData i tymczasowymi typami danych używanymi wewnętrznie w usłudze. Aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na ujście, zobacz Mapowania schematu i typu danych.
Typ danych OData | Typ danych usługi tymczasowej |
---|---|
Edm.Binary | Bajt[] |
Edm.Boolean | Bool |
Edm.Byte | Bajt[] |
Edm.DateTime | DateTime |
Edm.Decimal | Dziesiętne |
Edm.Double | Liczba rzeczywista |
Edm.Single | Pojedynczy |
Edm.Guid | Identyfikator GUID |
Edm.Int16 | Int16 |
Edm.Int32 | Int32 |
Edm.Int64 | Int64 |
Edm.SByte | Int16 |
Edm.String | String |
Edm.Time | przedział_czasu |
Edm.DateTimeOffset | DateTimeOffset |
Uwaga
Złożone typy danych OData (takie jak Obiekt) nie są obsługiwane.
Kopiowanie danych z usługi Project Online
Usługa Project Online wymaga uwierzytelniania OAuth opartego na użytkowniku, który nie jest obsługiwany przez usługę Azure Data Factory. Aby skopiować dane z usługi Project Online, możesz użyć łącznika OData i tokenu dostępu uzyskanego z narzędzi takich jak Postman.
Uwaga
Token dostępu wygasa domyślnie po upływie 1 godziny, po wygaśnięciu nowego tokenu dostępu.
Użyj narzędzia Postman , aby uzyskać token dostępu:
Uwaga
Postman jest używany przez niektórych deweloperów do testowania zdalnych internetowych interfejsów API. Istnieją jednak pewne zagrożenia bezpieczeństwa i prywatności związane z jego użyciem. Ten artykuł nie popiera użycia narzędzia Postman w środowiskach produkcyjnych. Użyj go na własne ryzyko.
- Przejdź do karty Autoryzacja w witrynie internetowej narzędzia Postman.
- W polu Typ wybierz pozycję OAuth 2.0, a następnie w polu Dodaj dane autoryzacji wybierz pozycję Nagłówki żądań.
- Wypełnij następujące informacje na stronie Konfigurowanie nowego tokenu, aby uzyskać nowy token dostępu:
- Typ udzielenia: wybierz pozycję Kod autoryzacji.
- Adres URL wywołania zwrotnego: wprowadź .
https://www.localhost.com/
- Adres URL uwierzytelniania: wprowadź .
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com
Zastąp<your tenant name>
ciąg własną nazwą dzierżawy. - Adres URL tokenu dostępu: wprowadź .
https://login.microsoftonline.com/common/oauth2/token
- Identyfikator klienta: wprowadź identyfikator jednostki usługi Firmy Microsoft Entra.
- Klucz tajny klienta: wprowadź klucz tajny jednostki usługi.
- Uwierzytelnianie klienta: wybierz pozycję Wyślij jako nagłówek uwierzytelniania podstawowego.
- Zostanie wyświetlony monit o zalogowanie się przy użyciu nazwy użytkownika i hasła.
- Po otrzymaniu tokenu dostępu skopiuj go i zapisz w następnym kroku.
Utwórz połączoną usługę OData:
- Adres URL usługi: wprowadź .
https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata
Zastąp<your tenant name>
ciąg własną nazwą dzierżawy. - Typ uwierzytelniania: wybierz pozycję Anonimowe.
- Nagłówki uwierzytelniania:
- Nazwa właściwości: wybierz pozycję Autoryzacja.
- Wartość: wprowadź .
Bearer <access token from step 1>
- Przetestuj połączoną usługę.
- Adres URL usługi: wprowadź .
Utwórz zestaw danych OData:
- Utwórz zestaw danych za pomocą połączonej usługi OData utworzonej w kroku 2.
- Podgląd danych.
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.