Gegevens kopiëren uit Oracle Cloud Storage met behulp van Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u gegevens kopieert uit Oracle Cloud Storage. Lees de inleidende artikelen voor Azure Data Factory en Synapse Analytics voor meer informatie.

Ondersteunde mogelijkheden

Deze Oracle Cloud Storage-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR
Copy-activiteit (bron/-) ① ②
Activiteit Lookup ① ②
GetMetadata-activiteit ① ②
Activiteit verwijderen ① ②

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Deze Oracle Cloud Storage-connector ondersteunt het kopiëren van bestanden zoals bestanden of het parseren van bestanden met de ondersteunde bestandsindelingen en compressiecodecs. Het maakt gebruik van de S3-compatibele interoperabiliteit van Oracle Cloud Storage.

Vereisten

Als u gegevens uit Oracle Cloud Storage wilt kopiëren, raadpleegt u hier de vereisten en vereiste machtigingen.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken voor Oracle Cloud Storage met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor Oracle Cloud Storage in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek naar Oracle en selecteer de Oracle Cloud Storage-connector.

    Screenshot of the Oracle Cloud Storage connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Screenshot of linked service configuration for Oracle Cloud Storage.

configuratiedetails Verbinding maken or

De volgende secties bevatten details over eigenschappen die worden gebruikt voor het definiëren van entiteiten die specifiek zijn voor Oracle Cloud Storage.

Eigenschappen van gekoppelde service

De volgende eigenschappen worden ondersteund voor gekoppelde Oracle Cloud Storage-services:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op OracleCloudStorage. Ja
accessKeyId Id van de geheime toegangssleutel. Zie Vereisten voor informatie over de toegangssleutel en het geheim. Ja
secretAccessKey De geheime toegangssleutel zelf. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Ja
serviceUrl Geef het aangepaste eindpunt op als https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com. Raadpleeg hier voor meer informatie Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of de zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als deze eigenschap niet is opgegeven, gebruikt de service de standaard Azure Integration Runtime. Nee

Hier volgt een voorbeeld:

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

Eigenschappen van gegevensset

Azure Data Factory ondersteunt de volgende bestandsindelingen. Raadpleeg elk artikel voor op indeling gebaseerde instellingen.

De volgende eigenschappen worden ondersteund voor Oracle Cloud Storage onder location instellingen in een op indeling gebaseerde gegevensset:

Eigenschappen Beschrijving Vereist
type De typeeigenschap onder location in de gegevensset moet worden ingesteld op OracleCloudStorageLocation. Ja
bucketName De naam van de Oracle Cloud Storage-bucket. Ja
folderPath Het pad naar de map onder de opgegeven bucket. Als u een jokerteken wilt gebruiken om de map te filteren, slaat u deze instelling over en geeft u dat op in de instellingen van de activiteitsbron. Nee
fileName De bestandsnaam onder het opgegeven bucket- en mappad. Als u een jokerteken wilt gebruiken om de bestanden te filteren, slaat u deze instelling over en geeft u dat op in de instellingen van de activiteitsbron. Nee

Voorbeeld:

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

Eigenschappen van de kopieeractiviteit

Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die door de Oracle Cloud Storage-bron worden ondersteund.

Oracle Cloud Storage als brontype

Azure Data Factory ondersteunt de volgende bestandsindelingen. Raadpleeg elk artikel voor op indeling gebaseerde instellingen.

De volgende eigenschappen worden ondersteund voor Oracle Cloud Storage onder storeSettings instellingen in een op indeling gebaseerde kopieerbron:

Eigenschappen Beschrijving Vereist
type De eigenschap type onder storeSettings moet worden ingesteld op OracleCloudStorageRead Instellingen. Ja
Zoek de bestanden die u wilt kopiëren:
OPTIE 1: statisch pad
Kopieer vanuit de opgegeven bucket of map/bestandspad dat is opgegeven in de gegevensset. Als u alle bestanden uit een bucket of map wilt kopiëren, moet u ook opgeven wildcardFileName als *.
OPTIE 2: Oracle Cloud Storage-voorvoegsel
-Voorvoegsel
Voorvoegsel voor de naam van de Oracle Cloud Storage-sleutel onder de opgegeven bucket die is geconfigureerd in de gegevensset om de bronbestanden van Oracle Cloud Storage te filteren. Oracle Cloud Storage-sleutels waarvan de namen beginnen met bucket_in_dataset/this_prefix geselecteerd. Het maakt gebruik van het servicefilter van Oracle Cloud Storage, dat betere prestaties biedt dan een jokertekenfilter. Nee
OPTIE 3: jokerteken
- jokertekenFolderPath
Het mappad met jokertekens onder de opgegeven bucket die is geconfigureerd in een gegevensset om bronmappen te filteren.
Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken). Gebruik ^ deze optie om te escapen als uw mapnaam een jokerteken of dit escape-teken bevat.
Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Nee
OPTIE 4: jokerteken
- wildcardFileName
De bestandsnaam met jokertekens onder het opgegeven bucket- en mappad (of pad naar een jokerteken) om bronbestanden te filteren.
Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken). Gebruik ^ deze optie om te escapen als uw bestandsnaam een jokerteken of dit escape-teken bevat. Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Ja
OPTIE 5: een lijst met bestanden
- fileListPath
Geeft aan om een bepaalde bestandsset te kopiëren. Wijs een tekstbestand aan met een lijst met bestanden die u wilt kopiëren, één bestand per regel. Dit is het relatieve pad naar het pad dat is geconfigureerd in de gegevensset.
Wanneer u deze optie gebruikt, geeft u niet de bestandsnaam op in de gegevensset. Bekijk meer voorbeelden in voorbeelden van de lijst met bestanden.
Nee
Aanvullende instellingen:
Recursieve Hiermee wordt aangegeven of de gegevens recursief worden gelezen uit de submappen of alleen uit de opgegeven map. Houd er rekening mee dat wanneer recursief is ingesteld op true en de sink een archief op basis van bestanden is, een lege map of submap niet wordt gekopieerd of gemaakt in de sink.
Toegestane waarden zijn waar (standaard) en onwaar.
Deze eigenschap is niet van toepassing wanneer u configureert fileListPath.
Nee
deleteFilesAfterCompletion Geeft aan of de binaire bestanden worden verwijderd uit het bronarchief nadat ze naar het doelarchief zijn verplaatst. Het verwijderen van bestanden is per bestand, dus wanneer de kopieeractiviteit mislukt, ziet u dat sommige bestanden al naar het doel zijn gekopieerd en uit de bron zijn verwijderd, terwijl anderen nog steeds in het bronarchief blijven.
Deze eigenschap is alleen geldig in het scenario voor het kopiëren van binaire bestanden. De standaardwaarde: false.
Nee
modifiedDatetimeStart Bestanden worden gefilterd op basis van het kenmerk: laatst gewijzigd.
De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op de UTC-tijdzone in de notatie '2018-12-01T05:00:00Z'.
De eigenschappen kunnen NULL zijn, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd NULL is, worden de bestanden waarvan het kenmerk voor het laatst gewijzigd is groter dan of gelijk aan de datum/tijd-waarde geselecteerd. Wanneer modifiedDatetimeEnd een datum/tijd-waarde heeft maar modifiedDatetimeStart NULL is, worden de bestanden waarvan het kenmerk voor het laatst gewijzigd is kleiner dan de datum/tijd-waarde geselecteerd.
Deze eigenschap is niet van toepassing wanneer u configureert fileListPath.
Nee
modifiedDatetimeEnd Hetzelfde als hierboven. Nee
enablePartitionDiscovery Geef voor bestanden die zijn gepartitioneerd op of de partities van het bestandspad moeten worden geparseerd en als extra bronkolommen moeten worden toegevoegd.
Toegestane waarden zijn onwaar (standaard) en waar.
Nee
partitionRootPath Wanneer partitiedetectie is ingeschakeld, geeft u het absolute hoofdpad op om gepartitioneerde mappen als gegevenskolommen te lezen.

Als deze niet is opgegeven, is dit standaard het volgende:
- Wanneer u bestandspad gebruikt in de gegevensset of lijst met bestanden op de bron, is het pad naar de partitiehoofdmap dat is geconfigureerd in de gegevensset.
- Wanneer u het filter voor jokertekens gebruikt, is partitiehoofdpad het subpad vóór het eerste jokerteken.

Stel dat u het pad in de gegevensset configureert als 'root/folder/year=2020/month=08/day=27':
- Als u partitiehoofdpad opgeeft als root/folder/year=2020, genereert de kopieeractiviteit twee kolommen month en day met de waarde '08' en '27', naast de kolommen in de bestanden.
- Als het hoofdpad van de partitie niet is opgegeven, wordt er geen extra kolom gegenereerd.
Nee
maxConcurrent Verbinding maken ions De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. Nee

Voorbeeld:

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

Voorbeelden van map- en bestandsfilters

In deze sectie wordt het resulterende gedrag van het mappad en de bestandsnaam met jokertekenfilters beschreven.

Emmer sleutel Recursieve Structuur van bronmap en filterresultaat (bestanden vetgedrukt worden opgehaald)
Emmer Folder*/* false Emmer
    MapA
        Bestand1.csv
        Bestand2.json
        Submap1
            Bestand3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
Emmer Folder*/* true Emmer
    MapA
        Bestand1.csv
        Bestand2.json
        Submap1
            Bestand3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
Emmer Folder*/*.csv false Emmer
    MapA
        Bestand1.csv
        Bestand2.json
        Submap1
            Bestand3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
Emmer Folder*/*.csv true Emmer
    MapA
        Bestand1.csv
        Bestand2.json
        Submap1
            Bestand3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv

Voorbeelden van bestandslijsten

In deze sectie wordt het resulterende gedrag beschreven van het gebruik van een bestandslijstpad in de Copy-activiteit bron.

Stel dat u de volgende bronmapstructuur hebt en de bestanden vetgedrukt wilt kopiëren:

Voorbeeldbronstructuur Inhoud in FileListToCopy.txt Configuratie
Emmer
    MapA
        Bestand1.csv
        Bestand2.json
        Submap1
            Bestand3.csv
            File4.json
            File5.csv
    Metagegevens
        FileListToCopy.txt
Bestand1.csv
Submap1/File3.csv
Submap1/File5.csv
In gegevensset:
-Emmer: bucket
- Mappad: FolderA

In bron van kopieeractiviteit:
- Pad naar bestandslijst: bucket/Metadata/FileListToCopy.txt

Het bestandslijstpad verwijst naar een tekstbestand in hetzelfde gegevensarchief met een lijst met bestanden die u wilt kopiëren, één bestand per regel, met het relatieve pad naar het pad dat is geconfigureerd in de gegevensset.

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Eigenschappen van GetMetadata-activiteit

Raadpleeg de activiteit GetMetadata voor meer informatie over de eigenschappen.

Activiteitseigenschappen verwijderen

Als u meer wilt weten over de eigenschappen, schakelt u De activiteit Verwijderen in.

Zie Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die door de Copy-activiteit worden ondersteund als bronnen en sinks.