Copiare dati da un'origine OData tramite Azure Data FactoryCopy data from an OData source by using Azure Data Factory

Questo articolo descrive come usare l'attività di copia in Azure Data Factory per copiare dati da un'origine OData.This article outlines how to use Copy Activity in Azure Data Factory to copy data from an OData source. L'articolo è basato su Attività di copia in Azure Data Factory, dove viene presentata una panoramica generale dell'attività di copia.The article builds on Copy Activity in Azure Data Factory, which presents a general overview of Copy Activity.

Funzionalità supportateSupported capabilities

Questo connettore OData è supportato per le attività seguenti:This OData connector is supported for the following activities:

È possibile copiare dati da un'origine OData a qualsiasi archivio dati di sink supportato.You can copy data from an OData source to any supported sink data store. Per un elenco degli archivi dati supportati dall'attività di copia come origini e sink, vedere Archivi dati e formati supportati.For a list of data stores that Copy Activity supports as sources and sinks, see Supported data stores and formats.

In particolare, il connettore OData supporta:Specifically, this OData connector supports:

  • OData versioni 3.0 e 4.0.OData version 3.0 and 4.0.
  • Copia dei dati con una delle seguenti autenticazioni: anonima, di base, Windows, entità servizio AADe identità gestite per le risorse di Azure.Copying data by using one of the following authentications: Anonymous, Basic, Windows, AAD service principal, and managed identities for Azure resources.

PrerequisitiPrerequisites

Se l'archivio dati è configurato in uno dei modi seguenti, è necessario configurare un Integration Runtime self-hosted per connettersi a questo archivio dati:If your data store is configured in one of the following ways, you need to set up a Self-hosted Integration Runtime in order to connect to this data store:

  • L'archivio dati si trova all'interno di una rete locale, all'interno di una rete virtuale di Azure o all'interno di un cloud privato virtuale di Amazon.The data store is located inside an on-premises network, inside Azure Virtual Network, or inside Amazon Virtual Private Cloud.
  • L'archivio dati è un servizio dati cloud gestito in cui l'accesso è limitato agli indirizzi IP consentiti nelle regole del firewall.The data store is a managed cloud data service where the access is restricted to IPs whitelisted in the firewall rules.

Inizia oggi stessoGet started

È possibile usare l'attività di copia con una pipeline tramite uno degli strumenti o degli SDK seguenti.You can use one of the following tools or SDKs to use the copy activity with a pipeline. Per istruzioni dettagliate, selezionare un collegamento:Select a link for step-by-step instructions:

Le sezioni seguenti presentano informazioni dettagliate sulle proprietà che è possibile usare per definire entità di Data Factory specifiche per un connettore OData.The following sections provide details about properties you can use to define Data Factory entities that are specific to an OData connector.

Proprietà del servizio collegatoLinked service properties

Per il servizio collegato OData sono supportate le proprietà seguenti:The following properties are supported for an OData linked service:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type deve essere impostata su OData.The type property must be set to OData. Yes
urlurl URL radice del servizio OData.The root URL of the OData service. Yes
authenticationTypeauthenticationType Tipo di autenticazione usato per la connessione all'origine OData.The type of authentication used to connect to the OData source. I valori consentiti sono Anonima, Di base e Windows, entità servizio AADe identità del servizio gestita.Allowed values are Anonymous, Basic, Windows, AadServicePrincipal, and ManagedServiceIdentity. L'autenticazione OAuth basata su utente non è supportata.User based OAuth isn't supported. Yes
userNameuserName Specificare userName se si usa l'autenticazione di base o di Windows.Specify userName if you use Basic or Windows authentication. NoNo
passwordpassword Specificare la proprietà password per l'account utente indicato per userName.Specify password for the user account you specified for userName. Contrassegnare questo campo come di tipo SecureString per l'archiviazione sicura in Data Factory.Mark this field as a SecureString type to store it securely in Data Factory. È anche possibile fare riferimento a un segreto archiviato in Azure Key Vault.You also can reference a secret stored in Azure Key Vault. NoNo
servicePrincipalIdservicePrincipalId Specificare l'ID client. dell'applicazione Azure Active Directory.Specify the Azure Active Directory application's client ID. NoNo
aadServicePrincipalCredentialTypeaadServicePrincipalCredentialType Specificare il tipo di credenziale da usare per l'autenticazione dell'entità servizio.Specify the credential type to use for service principal authentication. I valori consentiti sono: ServicePrincipalKey o ServicePrincipalCert.Allowed values are: ServicePrincipalKey or ServicePrincipalCert. NoNo
servicePrincipalKeyservicePrincipalKey Specificare la chiave dell'applicazione Azure Active Directory.Specify the Azure Active Directory application's key. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. NoNo
servicePrincipalEmbeddedCertservicePrincipalEmbeddedCert Specificare il certificato con codificata base64 dell'applicazione registrata in Azure Active Directory.Specify the base64 encoded certificate of your application registered in Azure Active Directory. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. NoNo
servicePrincipalEmbeddedCertPasswordservicePrincipalEmbeddedCertPassword Specificare la password del certificato se il certificato è protetto con una password.Specify the password of your certificate if your certificate is secured with a password. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. NoNo
tenanttenant Specificare le informazioni sul tenant (nome di dominio o ID tenant) in cui si trova l'applicazione.Specify the tenant information (domain name or tenant ID) under which your application resides. Recuperarle passando il cursore del mouse sull'angolo superiore destro del portale di Azure.Retrieve it by hovering the mouse in the top-right corner of the Azure portal. NoNo
aadResourceIdaadResourceId Specificare la risorsa AAD per cui si sta richiedendo l'autorizzazione.Specify the AAD resource you are requesting for authorization. NoNo
connectViaconnectVia Runtime di integrazione da usare per la connessione all'archivio dati.The Integration Runtime to use to connect to the data store. Ulteriori informazioni sono disponibili nella sezione prerequisiti .Learn more from Prerequisites section. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito.If not specified, the default Azure Integration Runtime is used. NoNo

Esempio 1: Uso dell'autenticazione anonimaExample 1: Using Anonymous authentication

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

Esempio 2: Uso dell'autenticazione di baseExample 2: Using Basic authentication

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

Esempio 3: Uso dell'autenticazione di WindowsExample 3: Using Windows authentication

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

Esempio 4: uso dell'autenticazione con chiave dell'entità servizioExample 4: Using service principal key authentication

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

Esempio 5: uso dell'autenticazione del certificato dell'entità servizioExample 5: Using service principal cert authentication

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

Proprietà del set di datiDataset properties

Questa sezione presenta un elenco delle proprietà supportate dal set di dati OData.This section provides a list of properties that the OData dataset supports.

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere Set di dati e servizi collegati.For a full list of sections and properties that are available for defining datasets, see Datasets and linked services.

Per copiare dati da OData, impostare la proprietàtype del set di dati su ODataResource.To copy data from OData, set the type property of the dataset to ODataResource. Sono supportate le proprietà seguenti:The following properties are supported:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type del set di dati deve essere impostata su ODataResource.The type property of the dataset must be set to ODataResource. Yes
pathpath Percorso della risorsa OData.The path to the OData resource. Yes

EsempioExample

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

Proprietà dell'attività di copiaCopy Activity properties

Questa sezione presenta un elenco delle proprietà supportate dall'origine OData.This section provides a list of properties that the OData source supports.

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere Pipeline.For a full list of sections and properties that are available for defining activities, see Pipelines.

OData come origineOData as source

Per copiare dati da OData, nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:To copy data from OData, the following properties are supported in the Copy Activity source section:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type dell'origine dell'attività di copia deve essere impostata su ODataSource.The type property of the Copy Activity source must be set to ODataSource. Yes
queryquery Opzioni di query OData per filtrare i dati.OData query options for filtering data. Esempio: "$select=Name,Description&$top=5".Example: "$select=Name,Description&$top=5".

Nota: il connettore OData copia dati dall'URL combinato: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source].Note: The OData connector copies data from the combined URL: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source]. Per altre informazioni, vedere OData URL components (Componenti dell'URL di OData).For more information, see OData URL components.
NoNo

EsempioExample

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

Se si usa RelationalSource origine tipizzata, questo è ancora supportato così com'è, mentre si consiglia di usare quello nuovo in futuro.If you were using RelationalSource typed source, it is still supported as-is, while you are suggested to use the new one going forward.

Mapping dei tipi di dati per ODataData type mapping for OData

Quando si copiano dati da OData, vengono usati i mapping seguenti tra i tipi di dati di OData e i tipi di dati provvisori di Azure Data Factory.When you copy data from OData, the following mappings are used between OData data types and Azure Data Factory interim data types. Per informazioni sul modo in cui l'attività di copia esegue il mapping dello schema di origine e del tipo di dati al sink, vedere Mapping dello schema e del tipo di dati.To learn how Copy Activity maps the source schema and data type to the sink, see Schema and data type mappings.

Tipo di dati di ODataOData data type Tipo di dati provvisorio di Data FactoryData Factory interim data type
Edm.BinaryEdm.Binary Byte[]Byte[]
Edm.BooleanEdm.Boolean BoolBool
Edm.ByteEdm.Byte Byte[]Byte[]
Edm.DateTimeEdm.DateTime Data e oraDateTime
Edm.DecimalEdm.Decimal DecimalDecimal
Edm.DoubleEdm.Double DoubleDouble
Edm.SingleEdm.Single SingoloSingle
Edm.GuidEdm.Guid GUIDGuid
Edm.Int16Edm.Int16 Int16Int16
Edm.Int32Edm.Int32 Int32Int32
Edm.Int64Edm.Int64 Int64Int64
Edm.SByteEdm.SByte Int16Int16
Edm.StringEdm.String stringString
Edm.TimeEdm.Time TimeSpanTimeSpan
Edm.DateTimeOffsetEdm.DateTimeOffset DateTimeOffsetDateTimeOffset

Nota

I tipi di dati complessi di OData (come Object) non sono supportati.OData complex data types (such as Object) aren't supported.

Proprietà attività di ricercaLookup activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di ricerca.To learn details about the properties, check Lookup activity.

Passaggi successiviNext steps

Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia in Azure Data Factory, vedere Archivi dati e formati supportati.For a list of data stores that Copy Activity supports as sources and sinks in Azure Data Factory, see Supported data stores and formats.