Kopiera data från en OData-källa med hjälp av Azure Data Factory eller Synapse Analytics
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
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 |
---|---|
Kopieringsaktivitet (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: Anonym, Grundläggande, Windows och Microsoft Entra-tjänstens huvudnamn.
Förutsättningar
Om ditt datalager finns i ett lokalt nätverk, ett virtuellt Azure-nätverk eller Amazon Virtual Private Cloud måste du konfigurera en lokalt installerad integrationskörning för att ansluta till det.
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 för integrering av hanterade virtuella nätverk i Azure Data Factory för att få åtkomst till det lokala nätverket utan att installera och konfigurera en lokalt installerad integrationskörning.
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:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
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 en OData-butik i Azure-portalens användargränssnitt.
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 anslutningsprogram
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:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen måste vara inställd på OData. | Ja |
URL | Rot-URL:en för OData-tjänsten. | Ja |
authenticationType | 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-autentisering. | Nej |
password | 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 autentisering med tjänstens huvudnamn. 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 på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. | Nej |
servicePrincipalEmbeddedCert | Ange det base64-kodade certifikatet för ditt program som är registrerat i Microsoft Entra-ID och se till att certifikatinnehållstypen är PKCS #12. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt 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 på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. | Nej |
klientorganisation | 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 | 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 standardkörningen för 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 datauppsättning
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:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Datamängdens typegenskap måste anges till ODataResource. | Ja |
path | 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:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste vara inställd på ODataSource. | Ja |
query | 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 typbaserad källa stöds den fortfarande som den är, medan du rekommenderas att använda 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. Information om hur Kopieringsaktivitet mappar källschemat och datatypen till mottagaren finns i 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 | Enstaka |
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, som 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
. - Klient-ID: Ange ditt huvudnamn för Microsoft Entra-tjänsten.
- 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.
- Autentiseringshuvuden:
- 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.