Copiare dati da Oracle Cloud Archiviazione 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 copiare dati da Oracle Cloud Archiviazione. Per altre informazioni, vedere gli articoli introduttivi per Azure Data Factory e Synapse Analytics.

Funzionalità supportate

Questo connettore Oracle Cloud Archiviazione è supportato per le funzionalità seguenti:

Funzionalità supportate IR
attività Copy (source/-) ① ②
Attività Lookup ① ②
Attività GetMetadata ① ②
Attività Delete ① ②

(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted

In particolare, questo connettore Oracle Cloud Archiviazione supporta la copia di file così come sono o l'analisi dei file con i formati di file e i codec di compressione supportati. Sfrutta l'interoperabilità compatibile con S3 di Oracle Cloud Archiviazione.

Prerequisiti

Per copiare dati da Oracle Cloud Archiviazione, 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:

Creare un servizio collegato a Oracle Cloud Archiviazione usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a Oracle Cloud Archiviazione nell'interfaccia utente di portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare Oracle e selezionare il connettore Oracle Cloud Archiviazione.

    Screenshot of the Oracle Cloud Storage connector.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot of linked service configuration for Oracle Cloud Storage.

Dettagli di configurazione di Connessione or

Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà usate per definire entità specifiche di Oracle Cloud Archiviazione.

Proprietà del servizio collegato

Per i servizi collegati Oracle Cloud Archiviazione sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type deve essere impostata su OracleCloud Archiviazione.
accessKeyId ID della chiave di accesso segreta. Per trovare la chiave di accesso e il segreto, vedere Prerequisiti.
secretAccessKey La stessa chiave di accesso segreta. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault.
serviceUrl Specificare l'endpoint personalizzato come https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com. Per altri dettagli, vedere qui
connectVia Runtime di integrazione da usare per la connessione all'archivio dati. È possibile usare il runtime di integrazione di Azure o il 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.

Le proprietà seguenti sono supportate per Oracle Cloud Archiviazione in location impostazioni in un set di dati basato sul formato:

Proprietà Descrizione Richiesto
Tipo La proprietà location type in nel set di dati deve essere impostata su OracleCloud Archiviazione Location.
bucketName Nome del bucket Archiviazione Oracle Cloud.
folderPath Percorso della cartella nel bucket specificato. Se si vuole usare un carattere jolly per filtrare la cartella, ignorare questa impostazione e specificare che nelle impostazioni dell'origine attività. No
fileName Nome del file nel bucket e nel percorso della cartella specificati. Se si vuole usare un carattere jolly per filtrare i file, ignorare questa impostazione e specificarla nelle impostazioni dell'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 fornisce un elenco delle proprietà supportate dall'origine Oracle Cloud Archiviazione.

Oracle Cloud Archiviazione come tipo di origine

Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.

Le proprietà seguenti sono supportate per Oracle Cloud Archiviazione in storeSettings impostazioni in un'origine di copia basata sul formato:

Proprietà Descrizione Richiesto
Tipo La proprietà type in storeSettings deve essere impostata su OracleCloud Archiviazione Read Impostazioni.
Individuare i file da copiare:
OPZIONE 1: percorso statico
Copia dal percorso del bucket o della cartella/file specificato nel set di dati. Se si desidera copiare tutti i file da un bucket o una cartella, specificare wildcardFileName anche come *.
OPZIONE 2: Prefisso oracle Cloud Archiviazione
- prefisso
Prefisso per il nome della chiave Archiviazione Oracle Cloud nel bucket specificato configurato nel set di dati per filtrare i file oracle Cloud Archiviazione di origine. Chiavi oracle Cloud Archiviazione i cui nomi iniziano con bucket_in_dataset/this_prefix sono selezionati. Usa il filtro lato servizio di Oracle Cloud Archiviazione, che offre prestazioni migliori rispetto a un filtro con caratteri 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 eseguire l'escape se il nome della cartella ha un carattere jolly o questo carattere di escape all'interno.
Vedere altri esempi in Esempi di filtro file e cartelle.
No
OPZIONE 4: carattere jolly
- wildcardFileName
Nome file con caratteri jolly nel bucket e nel percorso della cartella specificato (o percorso della cartella con caratteri 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 eseguire l'escape se il nome del file ha un carattere jolly o questo carattere di escape all'interno. Vedere altri esempi in Esempi di filtro file e cartelle.
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, ovvero il percorso relativo al 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 ricorsiva è impostata su true e il sink è 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 corretto spostamento nell'archivio di destinazione. L'eliminazione del file è per file, quindi quando l'attività di copia ha esito negativo, si noterà che alcuni file sono già stati copiati nella destinazione ed eliminati dall'origine, mentre altri rimangono nell'archivio di origine.
Questa proprietà è valida solo nello scenario di copia dei file binari. Valore predefinito: false.
No
modifiedDatetimeStart I file vengono filtrati in base all'attributo: ultima modifica.
I file verranno selezionati se l'ora dell'ultima modifica è maggiore o uguale a modifiedDatetimeStart e minore di modifiedDatetimeEnd. L'ora viene applicata in base al fuso orario UTC nel formato "2018-12-01T05:00:00Z".
Le proprietà possono essere NULL, il che significa che al set di dati non verrà applicato alcun filtro di attributo di file. Quando modifiedDatetimeStart ha un valore datetime ma modifiedDatetimeEnd è NULL, verranno selezionati i file il cui ultimo attributo modificato è maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL, verranno selezionati i file il cui ultimo attributo modificato è 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 (impostazione predefinita) 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 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 caratteri jolly, il percorso radice della partizione è il sottopercorso prima del 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à di copia genererà altre due colonne month e day con il valore "08" e "27" rispettivamente, 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*/* falso 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 falso 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

In questa sezione viene descritto il comportamento risultante dell'uso di un percorso dell'elenco di file nell'origine attività Copy.

Si supponga di avere la struttura di cartelle di origine seguente e di voler copiare i file in grassetto:

Esempio di struttura di origine Contenuto in FileListToCopy.txt Configurazione
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 punta a un file di testo nello stesso archivio dati che include un elenco di file da copiare, un file per riga, con il percorso relativo al percorso configurato nel set di dati.

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Proprietà dell'attività GetMetadata

Per informazioni dettagliate sulle proprietà, vedere l'attività GetMetadata.

Proprietà dell'attività Delete

Per informazioni dettagliate sulle proprietà, selezionare Elimina attività.

Per un elenco di archivi dati supportati dal attività Copy come origini e sink, vedere Archivi dati supportati.