Copiare dati da Oracle Cloud Storage 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 copiare dati da Google Cloud Storage. Per altre informazioni, vedere gli articoli introduttivi per Azure Data Factory e Synapse Analytics.
Funzionalità supportate
Questo connettore Oracle Cloud Storage è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
Attività Copy (origine/-) | ① ② |
Attività Lookup | ① ② |
Attività GetMetadata | ① ② |
Attività Delete | ① ② |
① Azure Integration Runtime ② Runtime di integrazione self-hosted
In particolare, il connettore Oracle Cloud Storage supporta la copia dei file così come sono e l'analisi dei file con i formati di file e i codec di compressione supportati. In tal modo, sfrutta l'interoperabilità compatibile con S3 di Oracle Cloud Storage.
Prerequisiti
Per copiare dati da Oracle Cloud Storage, vedere qui per i prerequisiti e le autorizzazioni necessarie.
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
- SDK di Python
- Azure PowerShell
- API REST
- Modello di Azure Resource Manager
Creare un servizio collegato a Oracle Cloud Storage tramite l'interfaccia utente
Seguire questa procedura per creare un servizio collegato a Oracle Cloud Storage 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 fare clic su Nuovo:
Cercare Oracle e selezionare il connettore Oracle Cloud Storage.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione del connettore
Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà usate per definire entità specifiche di Oracle Cloud Storage.
Proprietà del servizio collegato
Per i servizi collegati Oracle Cloud Storage sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type deve essere impostata su OracleCloudStorage. | Sì |
accessKeyId | ID della chiave di accesso segreta. Per trovare la chiave di accesso e il segreto, vedere Prerequisiti. | Sì |
secretAccessKey | La stessa chiave di accesso segreta. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro, oppure fare riferimento a un segreto archiviato in Azure Key Vault. | Sì |
serviceUrl | Specificare l'endpoint personalizzato come https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com . Per altri dettagli, vedere qui |
Sì |
connectVia | Runtime di integrazione da usare per la connessione all'archivio dati. È possibile usare Azure Integration Runtime o un runtime di integrazione self-hosted, se l'archivio dati si trova in una rete privata. Se questa proprietà non è specificata, il servizio usa il runtime di integrazione di Azure predefinito. | No |
Ecco un esempio:
{
"name": "OracleCloudStorageLinkedService",
"properties": {
"type": "OracleCloudStorage",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
},
"serviceUrl": "https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Proprietà del set di dati
Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.
- Formato Avro
- Formato binario
- Formato di testo delimitato
- Formato Excel
- Formato JSON
- Formato ORC
- Formato Parquet
- Formato XML
Le proprietà seguenti sono supportate per Oracle Cloud Storage nelle impostazioni location
di un set di dati basato sul formato:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type nelle location del set di dati deve essere impostata su OracleCloudStorageLocation. |
Sì |
bucketName | Nome del bucket di Oracle Cloud Storage. | Sì |
folderPath | Percorso della cartella nel bucket specificato. Se si intende usare un carattere jolly per filtrare la cartella, ignorare questa impostazione e specificarla nelle impostazioni di origine dell'attività. | No |
fileName | Nome del file nel bucket e nel percorso della cartella specificati. Se si intende usare un carattere jolly per filtrare i file, ignorare questa impostazione e specificarla nelle impostazioni di origine dell'attività. | No |
Esempio:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Oracle Cloud Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "OracleCloudStorageLocation",
"bucketName": "bucketname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Proprietà dell'attività di copia
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine di Oracle Cloud Storage.
Oracle Cloud Storage come tipo di origine
Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.
- Formato Avro
- Formato binario
- Formato di testo delimitato
- Formato Excel
- Formato JSON
- Formato ORC
- Formato Parquet
- Formato XML
Le proprietà seguenti sono supportate per Oracle Cloud Storage nelle impostazioni storeSettings
dell’origine copia basata sul formato:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type in storeSettings deve essere impostata su OracleCloudStorageReadSettings. |
Sì |
Individuare i file da copiare: | ||
OPZIONE 1: percorso statico |
Copia dal percorso del bucket o della cartella/file specificato nel set di dati. Per copiare tutti i file da un bucket o una cartella, specificare anche wildcardFileName come * . |
|
OPZIONE 2: prefisso di Oracle Cloud Storage - prefisso |
Prefisso per il nome della chiave Oracle Cloud Storage nel bucket specificato configurato nel set di dati per filtrare i file Oracle Cloud Storage di origine. Le chiavi di Oracle Cloud Storage i cui nomi iniziano con bucket_in_dataset/this_prefix sono selezionate. Usa il filtro lato servizio di Oracle Cloud Storage, che offre prestazioni migliori rispetto a un filtro con carattere jolly. |
No |
OPZIONE 3: carattere jolly - wildcardFolderPath |
Percorso della cartella con caratteri jolly nel bucket specificato configurato in un set di dati per filtrare le cartelle di origine. I caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo). Usare ^ per evitare che il nome della cartella contenga un carattere jolly o tale carattere di escape. Vedere altri esempi in Esempi di filtro file e cartelle. |
No |
OPZIONE 4: carattere jolly - wildcardFileName |
Nome file con caratteri jolly nel percorso del bucket e della cartella specificati, oppure nel percorso della cartella con carattere jolly, per filtrare i file di origine. I caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo). Usare ^ per evitare che il nome del file contenga un carattere jolly o tale carattere di escape. Vedere altri esempi in Esempi di filtro file e cartelle. |
Sì |
OPZIONE 5: elenco di file - fileListPath |
Indica di copiare un determinato set di file. Puntare a un file di testo che include un elenco di file da copiare, un file per riga, che rappresenta il percorso relativo del percorso configurato nel set di dati. Quando si usa questa opzione, non specificare il nome del file nel set di dati. Per altri esempi, vedere Esempi di elenco di file. |
No |
Impostazioni aggiuntive: | ||
recursive | Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata. Si noti che quando la proprietà recursive è impostata su true e il sink consiste in un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink. I valori consentiti sono true (predefinito) e false. Questa proprietà non è applicabile quando si configura fileListPath . |
No |
deleteFilesAfterCompletion | Indica se i file binari verranno eliminati dall'archivio di origine dopo il passaggio all'archivio di destinazione. L'eliminazione dei file avviene a livello di singolo file, pertanto quando l'attività Copy non riesce, verranno visualizzati alcuni file già copiati nella destinazione ed eliminati dall'origine, mentre altri sono ancora presenti nell'archivio di origine. Questa proprietà è valida solo nello scenario di copia dei file binari. Il valore predefinito è false. |
No |
modifiedDatetimeStart | I file vengono filtrati in base all'attributo seguente: ultima modifica. I file verranno selezionati se l'orario dell'ultima modifica è successivo o uguale alle modifiedDatetimeStart e precedente alle modifiedDatetimeEnd . L'ora viene applicata in base al fuso orario UTC nel formato "2018-12-01T05:00:00Z". Le proprietà possono essere NULL, a indicare che al set di dati non verrà applicato alcun filtro attributo di file. Quando modifiedDatetimeStart presenta un valore datetime ma modifiedDatetimeEnd è NULL, verranno selezionati i file il cui ultimo attributo modificato sia maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL verranno selezionati i file il cui ultimo attributo modificato sia minore del valore datetime.Questa proprietà non è applicabile quando si configura fileListPath . |
No |
modifiedDatetimeEnd | Come sopra. | No |
enablePartitionDiscovery | Per i file partizionati, specificare se analizzare le partizioni dal percorso del file e aggiungerle come colonne di origine aggiuntive. I valori consentiti sono false (predefinito) e true. |
No |
partitionRootPath | Quando l'individuazione delle partizioni è abilitata, specificare il percorso radice assoluto per leggere le cartelle partizionate come colonne di dati. Se ciò non è specificato, per impostazione predefinita, - Quando si usa il percorso del file nel set di dati o nell'elenco di file nell'origine, il percorso radice della partizione è il percorso configurato nel set di dati. - Quando si usa il filtro delle cartelle con carattere jolly, il percorso radice della partizione corrisponde al percorso secondario che precede il primo carattere jolly. Si supponga, ad esempio, di configurare il percorso nel set di dati come "root/folder/year=2020/month=08/day=27": - Se si specifica il percorso radice della partizione come "root/folder/year=2020", l'attività Copy genererà altre due colonne month e day , rispettivamente con il valore "08" e "27", oltre alle colonne all'interno dei file.- Se il percorso radice della partizione non è specificato, non verrà generata alcuna colonna aggiuntiva. |
No |
maxConcurrentConnections | Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. | No |
Esempio:
"activities":[
{
"name": "CopyFromOracleCloudStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "OracleCloudStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Esempi di filtro file e cartelle
Questa sezione descrive il comportamento risultante del percorso cartella e del nome del file con i filtri con caratteri jolly.
bucket | key | recursive | Struttura delle cartelle di origine e risultato del filtro (i file in grassetto sono stati recuperati) |
---|---|---|---|
bucket | Folder*/* |
false | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
bucket | Folder*/* |
true | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
bucket | Folder*/*.csv |
false | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
bucket | Folder*/*.csv |
true | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
Esempi di elenco di file
Questa sezione descrive il comportamento risultante dall'uso del percorso di elenco file nell'origine dell'attività Copy.
Si supponga di disporre della struttura di cartelle di origine seguente e di voler copiare i file in grassetto:
Esempio di struttura di origine | Contenuto in FileListToCopy.txt | Impostazione |
---|---|---|
bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv Metadati UFX FileListToCopy.txt |
File1.csv Sottocartella1/File3.csv Sottocartella1/File5.csv |
Nel set di dati: - Bucket: bucket - Percorso cartella: FolderA Nell'origine dell'attività Copy: - Percorso elenco file: bucket/Metadata/FileListToCopy.txt Il percorso dell'elenco di file fa riferimento a un file di testo nello stesso archivio dati che include un elenco di file da copiare, ad esempio un file per riga, con il percorso relativo a quello configurato nel set di dati. |
Proprietà dell'attività Lookup
Per altre informazioni sulle proprietà, vedere Attività Lookup.
Proprietà dell'attività GetMetadata
Per altre informazioni sulle proprietà, vedere Attività GetMetadata.
Proprietà dell'attività Delete
Per altre informazioni sulle proprietà, vedere Attività Delete.
Contenuto correlato
Per un elenco degli archivi dati supportati dall'attività Copy come origini e sink, vedere Archivi dati supportati.