Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Tips
Data Factory i Microsoft Fabric är nästa generations Azure Data Factory, med en enklare arkitektur, inbyggd AI och nya funktioner. Om dataintegrering är nytt för dig börjar du med Fabric Data Factory. Befintliga ADF-arbetsbelastningar kan uppgraderas till Fabric för att få åtkomst till nya funktioner inom datavetenskap, realtidsanalys och rapportering.
Den här artikeln beskriver hur du använder kopieringsaktivitet i en Azure Data Factory- eller Synapse Analytics-pipeline för att kopiera data från en OData-källa. Artikeln bygger på kopieringsaktivitet, som visar en allmän översikt över kopieringsaktivitet.
Funktioner som stöds
Den här OData-anslutningsappen stöds för följande funktioner:
| Funktioner som stöds | IR |
|---|---|
| Copy activity (källa/-) | (1) (2) |
| Sökningsaktivitet | (1) (2) |
(1) Azure integration runtime (2) Lokalt installerad integrationskörning
En lista över datalager som stöds som källor/mottagare finns i Datalager som stöds.
Mer specifikt stöder den här OData-anslutningsappen:
- OData version 2.0, 3.0 och 4.0.
- Kopiera data med någon av följande autentiseringar: Anonymous, Basic, Windows och Microsoft Entra tjänstens huvudnamn.
Förutsättningar
Om ditt datalager finns i ett lokalt nätverk, ett Azure virtuellt nätverk eller Amazon Virtual Private Cloud måste du konfigurera en självhostad integrationskörning för att ansluta till den.
Om ditt datalager är en hanterad molndatatjänst kan du använda Azure Integration Runtime. Om åtkomsten är begränsad till IP-adresser som är godkända i brandväggsreglerna kan du lägga till Azure Integration Runtime IP-adresser i listan över tillåtna.
Du kan också använda funktionen hanterad virtuell nätverksintegrering i Azure Data Factory för att få åtkomst till det lokala nätverket utan att installera och konfigurera en integrationskörning med egen värd.
Mer information om de nätverkssäkerhetsmekanismer och alternativ som stöds av Data Factory finns i Strategier för dataåtkomst.
Kom igång
Om du vill utföra kopieringsaktiviteten med en pipeline kan du använda något av följande verktyg eller SDK:er:
- Kopiera data-verktyget
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST-API
- mall för Azure Resource Manager
Skapa en länkad tjänst till ett OData-arkiv med hjälp av användargränssnittet
Använd följande steg för att skapa en länkad tjänst till ett OData-arkiv i användargränssnittet för Azure portalen.
Bläddra till fliken Hantera i din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och välj sedan Nytt:
Sök efter OData och välj OData-anslutningsappen.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
Konfigurationsinformation för anslutning
Följande avsnitt innehåller information om egenskaper som du kan använda för att definiera Data Factory-entiteter som är specifika för en OData-anslutning.
Länkade tjänstegenskaper
Följande egenskaper stöds för en OData-länkad tjänst:
| Egenskap | Beskrivning | Obligatoriskt |
|---|---|---|
| typ | Typegenskapen måste vara inställd på OData. | Ja |
| URL | Rot-URL:en för OData-tjänsten. | Ja |
| autentiseringstyp | Den typ av autentisering som används för att ansluta till OData-källan. Tillåtna värden är Anonymous, Basic, Windows och AadServicePrincipal. Användarbaserad OAuth stöds inte. Du kan dessutom konfigurera autentiseringshuvuden i authHeader egenskapen . |
Ja |
| authHeaders | Ytterligare HTTP-begärandehuvuden för autentisering. Om du till exempel vill använda API-nyckelautentisering kan du välja autentiseringstyp som "Anonym" och ange API-nyckel i rubriken. |
Nej |
| userName | Ange userName om du använder Basic eller Windows authentication. | Nej |
| lösenord | Ange lösenord för det användarkonto som du angav för userName. Markera det här fältet som en SecureString-typ för att lagra det på ett säkert sätt. Du kan också referera till en hemlighet som lagras i Azure Key Vault. | Nej |
| servicePrincipalId | Ange Microsoft Entra programmets klient-ID. | Nej |
| aadServicePrincipalCredentialType | Ange vilken typ av autentiseringsuppgifter som ska användas för serviceprincipalens autentisering. Tillåtna värden är: ServicePrincipalKey eller ServicePrincipalCert. |
Nej |
| servicePrincipalKey | Ange Microsoft Entra programmets nyckel. Markera det här fältet som en SecureString för att lagra det säkert, eller referera till en hemlighet som lagras i Azure Key Vault. | Nej |
| servicePrincipalEmbeddedCert | Ange det base64-kodade certifikatet för ditt program som registrerats i Microsoft Entra ID och kontrollera att certifikatinnehållstypen är PKCS #12. Markera det här fältet som en SecureString för att lagra det säkert, eller referera till en hemlighet som lagras i Azure Key Vault. | Nej |
| servicePrincipalEmbeddedCertPassword | Ange lösenordet för certifikatet om certifikatet skyddas med ett lösenord. Markera det här fältet som en SecureString för att lagra det säkert, eller referera till en hemlighet som lagras i Azure Key Vault. | Nej |
| hyresgäst | Ange klientinformationen (domännamn eller klient-ID) som programmet finns under. Hämta den genom att hovra musen i det övre högra hörnet i Azure portalen. | Nej |
| aadResourceId | Ange den Microsoft Entra resurs som du begär för auktorisering. | Nej |
| azureCloudType | För autentisering med tjänstens huvudnamn anger du vilken typ av Azure molnmiljö som ditt Microsoft Entra program är registrerat i. Tillåtna värden är AzurePublic, AzureChina, AzureUsGovernment och AzureGermany. Som standard används tjänstens molnmiljö. |
Nej |
| connectVia | Den Integration Runtime som ska användas för att ansluta till datalagret. Läs mer i avsnittet Förutsättningar . Om det inte anges används standard Azure Integration Runtime. | Nej |
Exempel 1: Använda anonym autentisering
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "https://services.odata.org/OData/OData.svc",
"authenticationType": "Anonymous"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Exempel 2: Använda grundläggande autentisering
{
"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"
}
}
}
Exempel 3: Använda Windows-autentisering
{
"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"
}
}
}
Exempel 4: Använda nyckelautentisering för tjänstens huvudnamn
{
"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"
}
}
Exempel 5: Använda certifikatautentisering för tjänstens huvudnamn
{
"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"
}
}
Exempel 6: Använda API-nyckelautentisering
{
"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"
}
}
}
Egenskaper för datamängd
Det här avsnittet innehåller en lista över egenskaper som OData-datauppsättningen stöder.
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i Datauppsättningar och länkade tjänster.
Om du vill kopiera data från OData anger du datauppsättningens typegenskap till ODataResource. Följande egenskaper stöds:
| Egenskap | Beskrivning | Obligatoriskt |
|---|---|---|
| typ | Datamängdens typegenskap måste anges till ODataResource. | Ja |
| sökväg | Sökvägen till OData-resursen. | Ja |
Exempel
{
"name": "ODataDataset",
"properties":
{
"type": "ODataResource",
"schema": [],
"linkedServiceName": {
"referenceName": "<OData linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties":
{
"path": "Products"
}
}
}
Egenskaper för kopieringsaktivitet
Det här avsnittet innehåller en lista över egenskaper som OData-källan stöder.
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i Pipelines.
OData som källa
För att kopiera data från OData stöds följande egenskaper i avsnittet Kopiera aktivitetskälla:
| Egenskap | Beskrivning | Obligatoriskt |
|---|---|---|
| typ | Typegenskapen för kopieringsaktivitetskällan måste vara inställd på ODataSource. | Ja |
| sökfråga | OData-frågealternativ för filtrering av data. Exempel: "$select=Name,Description&$top=5".Obs! OData-anslutningsappen kopierar data från den kombinerade URL:en: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source]. Mer information finns i OData-URL-komponenter. |
Nej |
| httpRequestTimeout | Tidsgränsen (TimeSpan-värdet ) för HTTP-begäran för att få ett svar. Det här värdet är tidsgränsen för att få ett svar, inte tidsgränsen för att läsa svarsdata. Om det inte anges är standardvärdet 00:30:00 (30 minuter). | Nej |
Exempel
"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>"
}
}
}
]
Om du använde RelationalSource en typad källa, stöds den fortfarande som den är, men det rekommenderas att du använder den nya framöver.
Datatypsmappning för OData
När du kopierar data från OData används följande mappningar mellan OData-datatyper och mellanliggande datatyper som används i tjänsten internt. För att lära dig hur Copy Activity mappar källschemat och datatypen till sinken, se Schema- och datatypmappningar.
| OData-datatyp | Datatyp för interimstjänst |
|---|---|
| Edm.Binary | Byte[] |
| Edm.Boolean | Bool |
| Edm.Byte | Byte[] |
| Edm.DateTime | Datum/tid |
| Edm.Decimal | Decimal |
| Edm.Double | Dubbel |
| Edm.Single | Singel |
| Edm.Guid | GUID |
| Edm.Int16 | Int16 |
| Edm.Int32 | Int32 |
| Edm.Int64 | Int64 |
| Edm.SByte | Int16 |
| Edm.String | String |
| Edm.Time | TimeSpan |
| Edm.DateTimeOffset | DateTimeOffset |
Kommentar
OData-komplexa datatyper (till exempel objekt) stöds inte.
Kopiera data från Project Online
Project Online kräver användarbaserad OAuth, vilket inte stöds av Azure Data Factory. Om du vill kopiera data från Project Online kan du använda OData-anslutningsappen och en åtkomsttoken som hämtas från verktyg som Postman.
Varning
Åtkomsttoken upphör att gälla om en timme som standard. Du måste hämta en ny åtkomsttoken när den upphör att gälla.
Använd Postman för att hämta åtkomsttoken:
Kommentar
Postman används av vissa utvecklare för att testa fjärrwebb-API:er. Det finns dock vissa säkerhets- och sekretessrisker i samband med användningen. Den här artikeln stöder inte användning av Postman för produktionsmiljöer. Använd den på egen risk.
- Gå till fliken Auktorisering på Postman-webbplatsen.
- I rutan Typ väljer du OAuth 2.0 och i rutan Lägg till auktoriseringsdata till väljer du Begärandehuvuden.
- Fyll i följande information på sidan Konfigurera ny token för att hämta en ny åtkomsttoken:
- Bevilja typ: Välj Auktoriseringskod.
-
Återanrops-URL: Ange
https://www.localhost.com/. -
Autentiserings-URL: Ange
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com. Ersätt<your tenant name>med ditt eget klientnamn. -
Url för åtkomsttoken: Ange
https://login.microsoftonline.com/common/oauth2/token. - Client ID: Ange ditt Microsoft Entra tjänstens huvudnamns-ID.
- Klienthemlighet: Ange tjänstens huvudnamnshemlighet.
- Klientautentisering: Välj Skicka som grundläggande autentiseringshuvud.
- Du uppmanas att logga in med ditt användarnamn och lösenord.
- När du har hämtat din åtkomsttoken kopierar du och sparar den för nästa steg.
Skapa den länkade OData-tjänsten:
-
Tjänst-URL: Ange
https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata. Ersätt<your tenant name>med ditt eget klientnamn. - Autentiseringstyp: Välj Anonym.
-
Auth-rubriker:
- Egenskapsnamn: Välj Auktorisering.
-
Värde: Ange
Bearer <access token from step 1>.
- Testa den länkade tjänsten.
-
Tjänst-URL: Ange
Skapa OData-datauppsättningen:
- Skapa datauppsättningen med den OData-länkade tjänsten som skapades i steg 2.
- Förhandsgranska data.
Egenskaper för uppslagsaktivitet
Mer information om egenskaperna finns i Sökningsaktivitet.
Relaterat innehåll
En lista över datalager som kopieringsaktivitet stöder som källor och mottagare finns i Datalager och format som stöds.