Copiare dati da un'origine OData tramite 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 all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo illustra come usare l'attività Copy in una pipeline di Azure Data Factory o Synapse Analytics per copiare dati da un'origine OData. L'articolo è basato su Attività Copy, dove viene presentata una panoramica generale dell'attività Copy.
Funzionalità supportate
Questo connettore OData è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
Attività Copy (origine/-) | ① ② |
Attività Lookup | ① ② |
① Azure Integration Runtime ② Runtime di integrazione self-hosted
Per un elenco degli archivi dati supportati come origini o sink, vedere Archivi dati supportati.
In particolare, il connettore OData supporta:
- OData versioni 2.0, 3.0 e 4.0.
- Copia dei dati usando una delle autenticazioni seguenti: Anonima, Di base, Windows ed Entità servizio di 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 del cloud gestito, è possibile usare Azure Integration Runtime. Se l'accesso è limitato solo agli indirizzi IP approvati nelle regole del firewall, è possibile aggiungere IP di Azure Integration Runtime nell'elenco Consentiti.
È anche possibile usare la funzionalità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.
Operazioni preliminari
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
- L'SDK Python
- Azure PowerShell
- L'API REST
- 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 del 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 del connettore
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 |
---|---|---|
type | 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 Anonima, Di base, Windows e AadServicePrincipal. L'autenticazione OAuth basata su utente non è supportata. È anche possibile configurare le intestazioni di autenticazione nella proprietà authHeader . |
Sì |
authHeaders | Intestazioni della 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 oppure 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 oppure 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 oppure 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 di Microsoft Entra richiesta per l'autorizzazione. | No |
azureCloudType | Per l'autenticazione dell'entità servizio, specificare il tipo di ambiente cloud di Azure in 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 con 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 con 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 con 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 |
---|---|---|
type | 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 i dati da OData, nella sezione origine dell'attività Copy sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type dell'origine dell'attività Copy 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 di 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 | String |
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 entro 1 ora per impostazione predefinita ed è necessario ottenere un nuovo token di accesso alla scadenza.
Usare Postman per ottenere il token di accesso:
Nota
Postman viene usato da alcuni sviluppatori per il test di API Web remote. Tuttavia, esistono alcuni rischi per la sicurezza e la privacy associati al suo utilizzo. Questo articolo non approva l'uso di Postman per gli ambienti di produzione. Usarlo a proprio rischio.
- Passare alla scheda Authorization nel sito Web di Postman.
- Nella casella Type selezionare OAuth 2.0 e nella casella Add authorization data to selezionare Request Headers.
- Compilare le informazioni seguenti nella pagina Configure New Token per ottenere un nuovo token di accesso:
- Grant type: selezionare Authorization Code.
- Callback URL: immettere
https://www.localhost.com/
. - Auth URL: 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. - Access Token URL: immettere
https://login.microsoftonline.com/common/oauth2/token
. - Client ID: immettere l'ID entità servizio di Microsoft Entra.
- Client Secret: immettere il segreto dell'entità servizio.
- Client Authentication: selezionare Send as Basic Auth header.
- 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 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 Anonima.
- Intestazioni di autenticazione:
- Nome proprietà: scegliere Autorizzazione.
- Valore immettere
Bearer <access token from step 1>
.
- Testare il servizio collegato.
- URL 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.