Gegevens kopiëren uit een OData-bron met behulp van Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u kopieeractiviteit gebruikt in een Azure Data Factory- of Synapse Analytics-pijplijn om gegevens uit een OData-bron te kopiëren. Het artikel bouwt voort op kopieeractiviteit, waarin een algemeen overzicht van de kopieeractiviteit wordt weergegeven.

Ondersteunde mogelijkheden

Deze OData-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR
Copy-activiteit (bron/-) ① ②
Activiteit Lookup ① ②

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Zie Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen/sinks.

Deze OData-connector ondersteunt met name:

  • OData versie 2.0, 3.0 en 4.0.
  • Gegevens kopiëren met behulp van een van de volgende verificaties: Anoniem, Basic, Windows en Microsoft Entra-service-principal.

Vereisten

Als uw gegevensarchief zich in een on-premises netwerk, een virtueel Azure-netwerk of een virtuele particuliere cloud van Amazon bevindt, moet u een zelf-hostende Integration Runtime configureren om er verbinding mee te maken.

Als uw gegevensarchief een beheerde cloudgegevensservice is, kunt u De Azure Integration Runtime gebruiken. Als de toegang is beperkt tot IP-adressen die zijn goedgekeurd in de firewallregels, kunt u IP-adressen van Azure Integration Runtime toevoegen aan de acceptatielijst.

U kunt ook de beheerde functie voor integratieruntime voor virtuele netwerken in Azure Data Factory gebruiken om toegang te krijgen tot het on-premises netwerk zonder een zelf-hostende Integration Runtime te installeren en te configureren.

Zie Strategieën voor gegevenstoegang voor meer informatie over de netwerkbeveiligingsmechanismen en -opties die door Data Factory worden ondersteund.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken voor een OData-archief met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor een OData-archief in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en selecteer vervolgens Nieuw:

  2. Zoek naar OData en selecteer de OData-connector.

    Screenshot of the OData connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Screenshot of linked service configuration for an OData store.

configuratiedetails Verbinding maken or

De volgende secties bevatten details over eigenschappen die u kunt gebruiken om Data Factory-entiteiten te definiëren die specifiek zijn voor een OData-connector.

Eigenschappen van gekoppelde service

De volgende eigenschappen worden ondersteund voor een gekoppelde OData-service:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op OData. Ja
URL De hoofd-URL van de OData-service. Ja
authenticationType Het type verificatie dat wordt gebruikt om verbinding te maken met de OData-bron. Toegestane waarden zijn Anoniem, Basic, Windows en AadServicePrincipal. OAuth op basis van gebruikers wordt niet ondersteund. U kunt ook verificatieheaders configureren in authHeader de eigenschap. Ja
authHeaders Aanvullende HTTP-aanvraagheaders voor verificatie.
Als u bijvoorbeeld API-sleutelverificatie wilt gebruiken, kunt u het verificatietype 'Anoniem' selecteren en de API-sleutel in de header opgeven.
Nee
gebruikersnaam Geef userName op als u Basis- of Windows-verificatie gebruikt. Nee
password Geef het wachtwoord op voor het gebruikersaccount dat u hebt opgegeven voor userName. Markeer dit veld als een SecureString-type om het veilig op te slaan. U kunt ook verwijzen naar een geheim dat is opgeslagen in Azure Key Vault. Nee
servicePrincipalId Geef de client-id van de Microsoft Entra-toepassing op. Nee
aadServicePrincipalCredentialType Geef het referentietype op dat moet worden gebruikt voor verificatie van de service-principal. Toegestane waarden zijn: ServicePrincipalKey of ServicePrincipalCert. Nee
servicePrincipalKey Geef de sleutel van de Microsoft Entra-toepassing op. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Nee
servicePrincipalEmbeddedCert Geef het base64 gecodeerde certificaat op van uw toepassing die is geregistreerd in Microsoft Entra-id en zorg ervoor dat het certificaatinhoudstype PKCS #12 is. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Nee
servicePrincipalEmbeddedCertPassword Geef het wachtwoord van uw certificaat op als uw certificaat is beveiligd met een wachtwoord. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Nee
AD-tenant Geef de tenantgegevens (domeinnaam of tenant-id) op waaronder uw toepassing zich bevindt. Haal deze op door de muisaanwijzer in de rechterbovenhoek van Azure Portal te plaatsen. Nee
aadResourceId Geef de Microsoft Entra-resource op die u aanvraagt voor autorisatie. Nee
azureCloudType Geef voor service-principalverificatie het type Azure-cloudomgeving op waarnaar uw Microsoft Entra-toepassing is geregistreerd.
Toegestane waarden zijn AzurePublic, AzureChina, AzureUsGovernment en AzureGermany. Standaard wordt de cloudomgeving van de service gebruikt.
Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Meer informatie vindt u in de sectie Vereisten . Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld 1: Anonieme verificatie gebruiken

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "https://services.odata.org/OData/OData.svc",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld 2: Basisverificatie gebruiken

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

Voorbeeld 3: Windows-verificatie gebruiken

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

Voorbeeld 4: Verificatie van de service-principalsleutel gebruiken

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

Voorbeeld 5: Verificatie van certificaat van service-principal gebruiken

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

Voorbeeld 6: API-sleutelverificatie gebruiken

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

Eigenschappen van gegevensset

Deze sectie bevat een lijst met eigenschappen die door de OData-gegevensset worden ondersteund.

Zie Gegevenssets en gekoppelde services voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets.

Als u gegevens uit OData wilt kopiëren, stelt u de typeeigenschap van de gegevensset in op ODataResource. De volgende eigenschappen worden ondersteund:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op ODataResource. Ja
path Het pad naar de OData-resource. Ja

Voorbeeld

{
    "name": "ODataDataset",
    "properties":
    {
        "type": "ODataResource",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<OData linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties":
        {
            "path": "Products"
        }
    }
}

Eigenschappen van kopieeractiviteit

Deze sectie bevat een lijst met eigenschappen die door de OData-bron worden ondersteund.

Zie Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten.

OData als bron

Als u gegevens uit OData wilt kopiëren, worden de volgende eigenschappen ondersteund in de sectie Bron van kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op ODataSource. Ja
query OData-queryopties voor het filteren van gegevens. Voorbeeld: "$select=Name,Description&$top=5".

Opmerking: de OData-connector kopieert gegevens van de gecombineerde URL: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source]. Zie OData URL-onderdelen voor meer informatie.
Nee
httpRequestTimeout De time-out (de timespanwaarde ) voor de HTTP-aanvraag om een antwoord te krijgen. Deze waarde is de time-out voor het ophalen van een antwoord, niet de time-out voor het lezen van antwoordgegevens. Als dit niet is opgegeven, is de standaardwaarde 00:30:00 (30 minuten). Nee

Voorbeeld

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

Als u RelationalSource getypte bron gebruikt, wordt deze nog steeds ondersteund, terwijl u wordt aangeraden de nieuwe bron te gebruiken.

Toewijzing van gegevenstypen voor OData

Wanneer u gegevens kopieert uit OData, worden de volgende toewijzingen gebruikt tussen OData-gegevenstypen en tussentijdse gegevenstypen die intern in de service worden gebruikt. Zie Schema- en gegevenstypetoewijzingen voor meer informatie over hoe kopieeractiviteit het bronschema en het gegevenstype toewijst aan de sink.

OData-gegevenstype Tussentijdse servicegegevenstype
Edm.Binary Byte[]
Edm.Boolean Bool
Edm.Byte Byte[]
Edm.DateTime Datum en tijd
Edm.Decimal Decimal
Edm.Double Dubbel
Edm.Single Eén
Edm.Guid Guid
Edm.Int16 Int16
Edm.Int32 Int32
Edm.Int64 Int64
Edm.SByte Int16
Edm.String String
Edm.Time TimeSpan
Edm.DateTimeOffset DateTimeOffset

Notitie

Complexe OData-gegevenstypen (zoals Object) worden niet ondersteund.

Gegevens kopiëren uit Project Online

Voor Project Online is OAuth op basis van gebruikers vereist. Dit wordt niet ondersteund door Azure Data Factory. Als u gegevens uit Project Online wilt kopiëren, kunt u de OData-connector en een toegangstoken gebruiken dat is verkregen uit hulpprogramma's zoals Postman.

Let op

Het toegangstoken verloopt standaard over 1 uur. U moet een nieuw toegangstoken krijgen wanneer het verloopt.

  1. Gebruik Postman om het toegangstoken op te halen:

    1. Navigeer naar het tabblad Autorisatie op de Postman-website.

    2. Selecteer OAuth 2.0 in het vak Type en selecteer aanvraagheaders in het vak Autorisatiegegevens toevoegen aan.

    3. Vul de volgende informatie in op de pagina Nieuw token configureren om een nieuw toegangstoken op te halen:

      • Toekenningstype: Autorisatiecode selecteren.
      • Callback-URL: Voer in https://www.localhost.com/
      • Verificatie-URL: Voer in https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com. Vervang door <your tenant name> uw eigen tenantnaam.
      • URL van toegangstoken: Voer in https://login.microsoftonline.com/common/oauth2/token.
      • Client-id: Voer de service-principal-id van Microsoft Entra in.
      • Clientgeheim: voer uw service-principalgeheim in.
      • Clientverificatie: selecteer Verzenden als basisauth-header.
    4. U wordt gevraagd u aan te melden met uw gebruikersnaam en wachtwoord.

    5. Nadat u uw toegangstoken hebt opgehaald, kopieert en slaat u het op voor de volgende stap.

    Screenshot of using Postman to get the access token.

  2. Maak de gekoppelde OData-service:

    • Service-URL: Voer in https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata. Vervang door <your tenant name> uw eigen tenantnaam.
    • Verificatietype: Anoniem selecteren.
    • Verificatieheaders:
      • Eigenschapsnaam: Kies Autorisatie.
      • Waarde: Voer Bearer <access token from step 1>in.
    • Test de gekoppelde service.

    Create OData linked service

  3. Maak de OData-gegevensset:

    1. Maak de gegevensset met de gekoppelde OData-service die u in stap 2 hebt gemaakt.
    2. Voorbeeld van gegevens.

    Preview data

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Zie Ondersteunde gegevensarchieven en -indelingen voor een lijst met gegevensarchieven die door de kopieeractiviteit worden ondersteund als bronnen en sinks.