Copiare dati da un'origine OData usando Azure Data Factory o Synapse Analytics
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .
Questo articolo illustra come usare l'attività di copia in una pipeline di Azure Data Factory o Synapse Analytics per copiare dati da un'origine OData. L'articolo si basa sull'attività di copia, che presenta una panoramica generale dell'attività di copia.
Funzionalità supportate
Questo connettore OData è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
attività Copy (source/-) | ① ② |
Attività Lookup | ① ② |
(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted
Per un elenco di archivi dati supportati come origini/sink, vedere Archivi dati supportati.
In particolare, il connettore OData supporta:
- OData versione 2.0, 3.0 e 4.0.
- Copia dei dati usando una delle autenticazioni seguenti: Anonima, Basic, Windows e entità servizio Microsoft Entra.
Prerequisiti
Se l'archivio dati si trova all'interno di una rete locale, una rete virtuale di Azure o un cloud privato virtuale di Amazon, è necessario configurare un runtime di integrazione self-hosted per connettersi.
Se l'archivio dati è un servizio dati cloud gestito, è possibile usare Azure Integration Runtime. Se l'accesso è limitato agli indirizzi IP approvati nelle regole del firewall, è possibile aggiungere indirizzi IP del runtime di integrazione di Azure all'elenco elementi consentiti.
È anche possibile usare la funzionalità di runtime di integrazione della rete virtuale gestita in Azure Data Factory per accedere alla rete locale senza installare e configurare un runtime di integrazione self-hosted.
Per altre informazioni sui meccanismi di sicurezza di rete e sulle opzioni supportate da Data Factory, vedere strategie di accesso ai dati.
Introduzione
Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- The Python SDK
- Azure PowerShell
- The REST API
- Modello di Azure Resource Manager
Creare un servizio collegato a un archivio OData usando l'interfaccia utente
Usare la procedura seguente per creare un servizio collegato a un archivio OData nell'interfaccia utente di portale di Azure.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi selezionare Nuovo:
Cercare OData e selezionare il connettore OData.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione di Connessione or
Le sezioni seguenti presentano informazioni dettagliate sulle proprietà che è possibile usare per definire entità di Data Factory specifiche per un connettore OData.
Proprietà del servizio collegato
Per il servizio collegato OData sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
Tipo | La proprietà type deve essere impostata su OData. | Sì |
URL | URL radice del servizio OData. | Sì |
authenticationType | Tipo di autenticazione usato per la connessione all'origine OData. I valori consentiti sono Anonymous, Basic, Windows e AadServicePrincipal. OAuth basato sull'utente non è supportato. È anche possibile configurare le intestazioni di autenticazione nella authHeader proprietà . |
Sì |
authHeaders | Intestazioni di richiesta HTTP aggiuntive per l'autenticazione. Ad esempio, per usare l'autenticazione con chiave API, è possibile selezionare il tipo di autenticazione "Anonimo" e specificare la chiave API nell'intestazione. |
No |
userName | Specificare userName se si usa l'autenticazione di base o di Windows. | No |
password | Specificare la proprietà password per l'account utente indicato per userName. Contrassegnare questo campo come tipo SecureString per archiviarlo in modo sicuro. È anche possibile fare riferimento a un segreto archiviato in Azure Key Vault. | No |
servicePrincipalId | Specificare l'ID client dell'applicazione Microsoft Entra. | No |
aadServicePrincipalCredentialType | Specificare il tipo di credenziale da usare per l'autenticazione dell'entità servizio. I valori consentiti sono: ServicePrincipalKey o ServicePrincipalCert . |
No |
servicePrincipalKey | Specificare la chiave dell'applicazione Microsoft Entra. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault. | No |
servicePrincipalEmbeddedCert | Specificare il certificato con codifica Base64 dell'applicazione registrata in Microsoft Entra ID e assicurarsi che il tipo di contenuto del certificato sia PKCS #12. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault. | No |
servicePrincipalEmbeddedCertPassword | Specificare la password del certificato se il certificato è protetto con una password. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault. | No |
tenant | Specificare le informazioni sul tenant (nome di dominio o ID tenant) in cui si trova l'applicazione. Recuperarle passando il cursore del mouse sull'angolo superiore destro del portale di Azure. | No |
aadResourceId | Specificare la risorsa Microsoft Entra richiesta per l'autorizzazione. | No |
azureCloudType | Per l'autenticazione dell'entità servizio, specificare il tipo di ambiente cloud di Azure a cui è registrata l'applicazione Microsoft Entra. I valori consentiti sono AzurePublic, AzureChina, AzureUsGovernment e AzureGermany. Per impostazione predefinita, viene usato l'ambiente cloud del servizio. |
No |
connectVia | Runtime di integrazione da usare per la connessione all'archivio dati. Per altre informazioni, vedere la sezione Prerequisiti. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito. | No |
Esempio 1: Uso dell'autenticazione anonima
{
"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 base
{
"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 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"
}
}
}
Esempio 4: Uso dell'autenticazione della chiave dell'entità servizio
{
"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à servizio
{
"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"
}
}
Esempio 6: Uso dell'autenticazione della chiave 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"
}
}
}
Proprietà del set di dati
Questa sezione presenta un elenco delle proprietà supportate dal set di dati OData.
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere Set di dati e servizi collegati.
Per copiare dati da OData, impostare la proprietàtype del set di dati su ODataResource. Sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
Tipo | La proprietà type del set di dati deve essere impostata su ODataResource. | Sì |
path | Percorso della risorsa OData. | Sì |
Esempio
{
"name": "ODataDataset",
"properties":
{
"type": "ODataResource",
"schema": [],
"linkedServiceName": {
"referenceName": "<OData linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties":
{
"path": "Products"
}
}
}
Proprietà dell'attività di copia
Questa sezione presenta un elenco delle proprietà supportate dall'origine OData.
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere Pipeline.
OData come origine
Per copiare dati da OData, nella sezione Origine dell'attività di copia sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
Tipo | La proprietà type dell'origine dell'attività di copia deve essere impostata su ODataSource. | Sì |
query | Opzioni di query OData per filtrare i dati. Esempio: "$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] . Per altre informazioni, vedere OData URL components (Componenti dell'URL di OData). |
No |
httpRequestTimeout | Timeout (valore di TimeSpan) durante il quale la richiesta HTTP attende una risposta. Si tratta del timeout per ottenere una risposta, non per leggere i dati della risposta. Se non specificato, il valore predefinito è 00:30:00 (30 minuti). | No |
Esempio
"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>"
}
}
}
]
L'origine tipizzata RelationalSource
è ancora supportata senza modifiche, ma è consigliato l'uso della nuova per il futuro.
Mapping dei tipi di dati per OData
Quando si copiano dati da OData, vengono usati i mapping seguenti tra i tipi di dati OData e i tipi di dati provvisori usati internamente nel servizio. 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.
Tipo di dati di OData | Tipo di dati del servizio provvisorio |
---|---|
Edm.Binary | Byte[] |
Edm.Boolean | Bool |
Edm.Byte | Byte[] |
Edm.DateTime | Data/Ora |
Edm.Decimal | Decimale |
Edm.Double | Double |
Edm.Single | Singola |
Edm.Guid | GUID |
Edm.Int16 | Int16 |
Edm.Int32 | Int32 |
Edm.Int64 | Int64 |
Edm.SByte | Int16 |
Edm.String | Stringa |
Edm.Time | TimeSpan |
Edm.DateTimeOffset | DateTimeOffset |
Nota
I tipi di dati complessi di OData (come Object) non sono supportati.
Copiare dati da Project Online
Project Online richiede OAuth basato sull'utente, che non è supportato da Azure Data Factory. Per copiare dati da Project Online, è possibile usare il connettore OData e un token di accesso ottenuto da strumenti come Postman.
Attenzione
Il token di accesso scade in 1 ora per impostazione predefinita, è necessario ottenere un nuovo token di accesso alla scadenza.
Usare Postman per ottenere il token di accesso:
Passare alla scheda Autorizzazione nel sito Web Postman.
Nella casella Tipo selezionare OAuth 2.0 e nella casella Aggiungi dati di autorizzazione selezionareIntestazioni richiesta.
Compilare le informazioni seguenti nella pagina Configura nuovo token per ottenere un nuovo token di accesso:
- Tipo di concessione: selezionare Codice di autorizzazione.
- URL di callback: immettere
https://www.localhost.com/
. - URL di autenticazione: immettere
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com
. Sostituire<your tenant name>
con il proprio nome del tenant. - URL del token di accesso: immettere
https://login.microsoftonline.com/common/oauth2/token
. - ID client: immettere l'ID dell'entità servizio Microsoft Entra.
- Segreto client: immettere il segreto dell'entità servizio.
- Autenticazione client: selezionare Invia come intestazione di autenticazione di base.
Verrà chiesto di accedere con il nome utente e la password.
Dopo aver ottenuto il token di accesso, copiarlo e salvarlo per il passaggio successivo.
Creare il servizio collegato OData:
- URL del servizio: immettere
https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata
. Sostituire<your tenant name>
con il proprio nome del tenant. - Tipo di autenticazione: selezionare Anonimo.
- Intestazioni di autenticazione:
- Nome proprietà: scegliere Autorizzazione.
- Valore: immettere
Bearer <access token from step 1>
.
- Testare il servizio collegato.
- URL del servizio: immettere
Creare il set di dati OData:
- Creare il set di dati con il servizio collegato OData creato nel passaggio 2.
- Anteprima dei dati.
Proprietà dell'attività Lookup
Per altre informazioni sulle proprietà, vedere Attività Lookup.
Contenuto correlato
Per un elenco degli archivi dati supportati dall'attività di copia come origini e sink, vedere Archivi dati e formati supportati.