Das Kopieren von Daten nach und aus Azure Data Lake Storage Gen1 mithilfe von Azure Data Factory- oder Azure Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie Daten in und aus Azure Data Lake Storage Gen1 kopieren. Weitere Informationen finden Sie im Einführungsartikel zu Azure Data Factory oder Azure Synapse Analytics.

Hinweis

Azure Data Lake Storage Gen1 wurde am 29. Februar 2024 eingestellt. Migrieren Sie bitte zum Azure Data Lake Storage Gen2-Connector. In diesem Artikel finden Sie die Migrationsleitfaden für Azure Data Lake Storage Gen1.

Unterstützte Funktionen

Dieser Azure Data Lake Storage Gen1-Connector wird für die folgenden Aktivitäten unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/Senke) ① ②
Zuordnungsdatenfluss (Quelle/Senke)
Lookup-Aktivität ① ②
GetMetadata-Aktivität ① ②
Delete-Aktivität ① ②

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Mit diesem Connector können Sie insbesondere:

  • Dateien mit einer der folgenden Authentifizierungsmethoden kopieren: „Dienstprinzipal“ oder „verwaltete Identitäten für Azure-Ressourcen“.
  • Dateien im jeweiligen Zustand kopieren oder Dateien mit den unterstützten Dateiformaten und Komprimierungscodecs analysieren bzw. generieren.
  • Beim Kopieren in Azure Data Lake Storage Gen2 müssen die ACLs beibehalten werden.

Wichtig

Wenn Sie Daten mithilfe der selbstgehosteten Integration Runtime kopieren, konfigurieren Sie die Unternehmensfirewall so, dass sie an Port 443 ausgehenden Datenverkehr an <ADLS account name>.azuredatalakestore.net und login.microsoftonline.com/<tenant>/oauth2/token zulässt. Letzteres ist der Azure-Sicherheitstokendienst, mit dem die Integration Runtime kommunizieren muss, um das Zugriffstoken abzurufen.

Erste Schritte

Tipp

Eine exemplarische Vorgehensweise zur Verwendung des Azure Data Lake Storage-Connectors finden Sie unter Laden von Daten in Azure Data Lake Storage Gen1.

Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:

Erstellen eines verknüpften Diensts mit Azure Data Lake Storage Gen1 über die Benutzeroberfläche

Verwenden Sie die folgenden Schritte, um einen verknüpften Dienst mit Azure Data Lake Storage Gen1 auf der Azure-Portal-Benutzeroberfläche zu erstellen.

  1. Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte „Verwalten“, und wählen Sie „Verknüpfte Dienste“ und anschließend „Neu“ aus:

  2. Suchen Sie nach Azure Data Lake Storage Gen1, und wählen Sie den Azure Data Lake Storage Gen1-Connector aus.

    Screenshot: Azure Data Lake Storage Gen1-Connector.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Screenshot: Konfiguration des verknüpften Dienstes für Azure Data Lake Storage Gen1.

Details zur Connector-Konfiguration

Die folgenden Abschnitte enthalten Informationen zu den Eigenschaften, die zum Definieren von Entitäten speziell für Azure Data Lake Storage Gen1 verwendet werden.

Eigenschaften des verknüpften Diensts

Folgende Eigenschaften werden für den verknüpften Azure Data Lake Storage-Dienst unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft muss auf AzureDataLakeStore festgelegt werden. Ja
dataLakeStoreUri Informationen zum Azure Data Lake Store-Konto. Diese Informationen haben eines der folgenden Formate: https://[accountname].azuredatalakestore.net/webhdfs/v1 oder adl://[accountname].azuredatalakestore.net/. Ja
subscriptionId Die ID des Azure-Abonnements, zu dem das Data Lake Storage-Konto gehört. Erforderlich für Senke
resourceGroupName Der Name der Azure-Ressourcengruppe, zu der das Data Lake Storage-Konto gehört. Erforderlich für Senke
connectVia Die Integration Runtime, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden soll. Sie können die Azure Integration Runtime oder eine selbstgehostete Integration Runtime verwenden, sofern sich Ihr Datenspeicher in einem privaten Netzwerk befindet. Wenn diese Eigenschaft nicht angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. Nein

Verwenden der Dienstprinzipalauthentifizierung

Zum Verwenden der Dienstprinzipalauthentifizierung führen Sie die folgenden Schritte aus.

  1. Registrieren Sie eine Anwendungsentität in Microsoft Entra ID, und gewähren Sie ihr Zugriff auf Data Lake Store. Eine ausführliche Anleitung finden Sie unter Dienst-zu-Dienst-Authentifizierung. Notieren Sie sich die folgenden Werte, die Sie zum Definieren des verknüpften Diensts verwenden:

    • Anwendungs-ID
    • Anwendungsschlüssel
    • Mandanten-ID
  2. Erteilen Sie dem Dienstprinzipal geeignete Berechtigungen. Beispiele zur Funktionsweise von Berechtigungen in Data Lake Storage Gen1 finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen1.

    • Als Quelle: Gewähren Sie unter Data Explorer>Zugriff mindestens die Berechtigung Ausführen für ALLE Upstreamordner (einschließlich des Stammordners) sowie die Berechtigung Lesen für die zu kopierenden Dateien. Sie können für rekursives Kopieren „Hinzufügen zu“ auf Diesen Ordner und alle untergeordneten Ordner und „Hinzufügen als“ auf Ein Zugriffsberechtigungseintrag und ein Standardberechtigungseintrag festlegen. Es gelten keine Anforderungen für die Zugriffssteuerung (Identity & Access Management, IAM) auf Kontoebene.
    • Als Senke: Gewähren Sie unter Data Explorer>Zugriff mindestens die Berechtigung Ausführen für ALLE Upstreamordner (einschließlich des Stammordners) sowie die Berechtigung Schreiben für den Senkenordner. Sie können für rekursives Kopieren „Hinzufügen zu“ auf Diesen Ordner und alle untergeordneten Ordner und „Hinzufügen als“ auf Ein Zugriffsberechtigungseintrag und ein Standardberechtigungseintrag festlegen.

Folgende Eigenschaften werden unterstützt:

Eigenschaft Beschreibung Erforderlich
servicePrincipalId Geben Sie die Client-ID der Anwendung an. Ja
servicePrincipalKey Geben Sie den Schlüssel der Anwendung an. Markieren Sie dieses Feld als SecureString, um es sicher in zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Ja
tenant Geben Sie die Mandanteninformationen, wie Domänenname oder Mandanten-ID, für Ihre Anwendung an. Diese können Sie abrufen, indem Sie im Azure-Portal mit der Maus auf den Bereich oben rechts zeigen. Ja
azureCloudType Geben Sie für die Dienstprinzipalauthentifizierung die Art der Azure-Cloudumgebung an, bei der Ihre Microsoft Entra-Anwendung registriert ist.
Zulässige Werte sind AzurePublic, AzureChina, AzureUsGovernment und AzureGermany. Standardmäßig wird die Cloudumgebung des Diensts verwendet.
Nein

Beispiel:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Verwenden der vom System zugewiesenen Authentifizierung mit einer verwalteten Identität

Eine Data Factory- oder ein Synapse-Arbeitsbereich kann einersystemseitig zugewiesenen verwalteten Identität zugeordnet werden, die den Dienst für die Authentifizierung darstellt. Ähnlich wie bei der Verwendung Ihres eigenen Dienstprinzipals können Sie diese systemseitig zugewiesenen verwaltete Identität direkt für die Data Lake Storage-Authentifizierung verwenden. Sie erlaubt dieser bestimmten Ressource den Zugriff auf Data Lake Storage sowie das Kopieren von Daten nach oder aus Data Lake Storage.

Führen Sie die folgenden Schritte aus, um die Authentifizierung mit einer systemseitig zugewiesenen verwalteten Identität zu verwenden.

  1. Rufen Sie die systemseitig zugewiesenen verwalteten Identitätsinformationen ab, indem Sie den Wert von der „Dienstidentitätsanwendungs-ID“ kopieren, der zusammen mit Ihrer Factory oder Synapse-Arbeitsbereich generiert wurde.

  2. Gewähren Sie der systemseitig zugewiesenen verwalteten Identität Zugriff auf Data Lake Store. Beispiele zur Funktionsweise von Berechtigungen in Data Lake Storage Gen1 finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen1.

    • Als Quelle: Gewähren Sie unter Data Explorer>Zugriff mindestens die Berechtigung Ausführen für ALLE Upstreamordner (einschließlich des Stammordners) sowie die Berechtigung Lesen für die zu kopierenden Dateien. Sie können für rekursives Kopieren „Hinzufügen zu“ auf Diesen Ordner und alle untergeordneten Ordner und „Hinzufügen als“ auf Ein Zugriffsberechtigungseintrag und ein Standardberechtigungseintrag festlegen. Es gelten keine Anforderungen für die Zugriffssteuerung (Identity & Access Management, IAM) auf Kontoebene.
    • Als Senke: Gewähren Sie unter Data Explorer>Zugriff mindestens die Berechtigung Ausführen für ALLE Upstreamordner (einschließlich des Stammordners) sowie die Berechtigung Schreiben für den Senkenordner. Sie können für rekursives Kopieren „Hinzufügen zu“ auf Diesen Ordner und alle untergeordneten Ordner und „Hinzufügen als“ auf Ein Zugriffsberechtigungseintrag und ein Standardberechtigungseintrag festlegen.

Sie müssen außer den allgemeinen Data Lake Storage-Informationen im verknüpften Dienst keine Eigenschaften angeben.

Beispiel:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Verwenden der vom Benutzer zugewiesenen Authentifizierung mit einer verwalteten Identität

Eine Data Factory kann mit einer oder mehreren benutzerseitig zugewiesenen verwalteten Identitäten zugewiesen werden. Sie können diese benutzerseitig zugewiesene verwaltete Identität für die Blob Storage-Authentifizierung verwenden, die den Zugriff auf und das Kopieren von Daten aus oder in Data Lake Store ermöglicht. Weitere Informationen zu verwalteten Identitäten für Azure-Ressourcen finden Sie unter Verwaltete Identitäten für Azure-Ressourcen

Führen Sie die folgenden Schritte aus, um die Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität zu verwenden:

  1. Erstellen Sie eine oder mehrere benutzerseitig zugewiesene verwaltete Identitäten und gewähren Sie ihnen den Zugriff auf Azure Data Lake. Beispiele zur Funktionsweise von Berechtigungen in Data Lake Storage Gen1 finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen1.

    • Als Quelle: Gewähren Sie unter Data Explorer>Zugriff mindestens die Berechtigung Ausführen für ALLE Upstreamordner (einschließlich des Stammordners) sowie die Berechtigung Lesen für die zu kopierenden Dateien. Sie können für rekursives Kopieren „Hinzufügen zu“ auf Diesen Ordner und alle untergeordneten Ordner und „Hinzufügen als“ auf Ein Zugriffsberechtigungseintrag und ein Standardberechtigungseintrag festlegen. Es gelten keine Anforderungen für die Zugriffssteuerung (Identity & Access Management, IAM) auf Kontoebene.
    • Als Senke: Gewähren Sie unter Data Explorer>Zugriff mindestens die Berechtigung Ausführen für ALLE Upstreamordner (einschließlich des Stammordners) sowie die Berechtigung Schreiben für den Senkenordner. Sie können für rekursives Kopieren „Hinzufügen zu“ auf Diesen Ordner und alle untergeordneten Ordner und „Hinzufügen als“ auf Ein Zugriffsberechtigungseintrag und ein Standardberechtigungseintrag festlegen.
  2. Weisen Sie Ihrer Data Factory eine oder mehrere benutzerseitig zugewiesene verwaltete Identitäten zu, und erstellen Sie Anmeldeinformationen für jede benutzerseitig zugewiesene verwaltete Identität.

Die folgende Eigenschaft wird unterstützt:

Eigenschaft Beschreibung Erforderlich
Anmeldeinformationen Geben Sie die benutzerseitig zugewiesene verwaltete Identität als Anmeldeinformationsobjekt an. Ja

Beispiel:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Dataset-Eigenschaften

Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets.

Azure Data Factory unterstützt die folgenden Dateiformate. Informationen zu formatbasierten Einstellungen finden Sie in den jeweiligen Artikeln.

Folgende Eigenschaften werden für Azure Data Lake Storage Gen1 unter location-Einstellungen in formatbasierten Datasets unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft unter location im Dataset muss auf AzureDataLakeStoreLocation festgelegt werden. Ja
folderPath Der Pfad zu einem Ordner. Wenn Sie einen Platzhalter verwenden möchten, um Ordner zu filtern, überspringen Sie diese Einstellung, und geben Sie entsprechende Aktivitätsquelleneinstellungen an. Nein
fileName Der Name der Datei unter dem angegebenen „folderPath“. Wenn Sie einen Platzhalter verwenden möchten, um Dateien zu filtern, überspringen Sie diese Einstellung, und geben Sie ihn in den entsprechenden Aktivitätsquelleneinstellungen an. Nein

Beispiel:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<ADLS Gen1 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureDataLakeStoreLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Eigenschaften der Kopieraktivität

Eine vollständige Liste der verfügbaren Abschnitte und Eigenschaften zum Definieren von Aktivitäten finden Sie unter Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der Azure Data Lake Storage-Quelle und -Senke unterstützt werden.

Azure Data Lake Store als Quelle

Azure Data Factory unterstützt die folgenden Dateiformate. Informationen zu formatbasierten Einstellungen finden Sie in den jeweiligen Artikeln.

Folgende Eigenschaften werden für Azure Data Lake Storage Gen1 unter storeSettings-Einstellungen in der formatbasierten Kopierquelle unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die „type“-Eigenschaft unter storeSettings muss auf AzureDataLakeStoreReadSettings festgelegt werden. Ja
Suchen Sie die zu kopierenden Dateien:
OPTION 1: statischer Pfad
Kopieren Sie aus dem im Dataset angegebenen Ordner/Dateipfad. Wenn Sie alle Dateien aus einem Ordner kopieren möchten, geben Sie zusätzlich für wildcardFileName den Wert * an.
OPTION 2: Namensbereich
– listAfter
Ruft den Ordner bzw. die Dateien ab, deren Namen alphabetisch gesehen nach diesem Wert folgen (exklusiv) Für ADLS Gen1 wird der serverseitige Filter verwendet, dessen Leistung besser als die eines Platzhalterfilters ist.
Der Dienst wendet diesen Filter auf den Pfad an, der im Dataset definiert ist und es wird nur eine Entitätsebene unterstützt. Weitere Beispiele finden Sie unter Beispiele für Namensbereichfilter.
Nein
OPTION 2: Namensbereich
– listBefore
Ruft den Ordner bzw. die Dateien ab, deren Namen alphabetisch gesehen vor diesem Wert folgen (inklusiv) Für ADLS Gen1 wird der serverseitige Filter verwendet, dessen Leistung besser als die eines Platzhalterfilters ist.
Der Dienst wendet diesen Filter auf den Pfad an, der im Dataset definiert ist und es wird nur eine Entitätsebene unterstützt. Weitere Beispiele finden Sie unter Beispiele für Namensbereichfilter.
Nein
OPTION 3: Platzhalter
– wildcardFolderPath
Der Ordnerpfad mit Platzhalterzeichen, um Quellordner zu filtern.
Zulässige Platzhalter sind: * (entspricht null oder mehr Zeichen) und ? (entspricht null oder einem einzelnen Zeichen). Verwenden Sie ^ als Escapezeichen, wenn Ihr tatsächlicher Dateiname einen Platzhalter oder dieses Escapezeichen enthält.
Weitere Beispiele finden Sie unter Beispiele für Ordner- und Dateifilter.
Nein
OPTION 3: Platzhalter
– wildcardFileName
Der Dateiname mit Platzhalterzeichen unter dem angegebenen „folderPath/wildcardFolderPath“ für das Filtern von Quelldateien.
Zulässige Platzhalter sind: * (entspricht null oder mehr Zeichen) und ? (entspricht null oder einem einzelnen Zeichen). Verwenden Sie ^ als Escapezeichen, wenn Ihr tatsächlicher Dateiname einen Platzhalter oder dieses Escapezeichen enthält. Weitere Beispiele finden Sie unter Beispiele für Ordner- und Dateifilter.
Ja
OPTION 4: eine Liste von Dateien
– fileListPath
Gibt an, dass eine bestimmte Dateigruppe kopiert werden soll. Verweisen Sie auf eine Textdatei, die eine Liste der zu kopierenden Dateien enthält, und zwar eine Datei pro Zeile. Dies ist der relative Pfad zu dem im Dataset konfigurierten Pfad.
Geben Sie bei Verwendung dieser Option keinen Dateinamen im Dataset an. Weitere Beispiele finden Sie unter Beispiele für Dateilisten.
Nein
Zusätzliche Einstellungen:
recursive Gibt an, ob die Daten rekursiv aus den Unterordnern oder nur aus dem angegebenen Ordner gelesen werden. Wenn „recursive“ auf „true“ festgelegt ist und es sich bei der Senke um einen dateibasierten Speicher handelt, wird ein leerer Ordner oder Unterordner nicht in die Senke kopiert oder dort erstellt.
Zulässige Werte sind true (Standard) und false.
Diese Eigenschaft gilt nicht, wenn Sie fileListPath konfigurieren.
Nein
deleteFilesAfterCompletion Gibt an, ob die Binärdateien nach dem erfolgreichen Verschieben in den Zielspeicher aus dem Quellspeicher gelöscht werden. Die Dateien werden einzeln gelöscht, sodass Sie bei einem Fehler der Kopieraktivität feststellen werden, dass einige Dateien bereits ins Ziel kopiert und aus der Quelle gelöscht wurden, wohingegen sich andere weiter im Quellspeicher befinden.
Diese Eigenschaft ist nur im Szenario zum Kopieren von Binärdateien gültig. Standardwert: FALSE.
Nein
modifiedDatetimeStart Dateifilterung basierend auf dem Attribut: Letzte Änderung.
Die Dateien werden ausgewählt, wenn der Zeitpunkt ihrer letzten Änderung größer als oder gleich modifiedDatetimeStart und kleiner als modifiedDatetimeEnd ist. Die Zeit wird auf die UTC-Zeitzone im Format „2018-12-01T05:00:00Z“ angewandt.
Die Eigenschaften können NULL sein, was bedeutet, dass kein Dateiattributfilter auf das Dataset angewandt wird. Wenn modifiedDatetimeStart einen datetime-Wert aufweist, aber modifiedDatetimeEnd NULL lautet, bedeutet dies, dass die Dateien ausgewählt werden, deren Attributwert für die letzte Änderung größer oder gleich dem datetime-Wert ist. Wenn modifiedDatetimeEnd einen datetime-Wert aufweist, aber modifiedDatetimeStart NULL ist, bedeutet dies, dass die Dateien ausgewählt werden, deren Attributwert für die letzte Änderung kleiner als der datetime-Wert ist.
Diese Eigenschaft gilt nicht, wenn Sie fileListPath konfigurieren.
Nein
modifiedDatetimeEnd Wie oben. Nein
enablePartitionDiscovery Geben Sie bei partitionierten Dateien an, ob die Partitionen anhand des Dateipfads analysiert und als zusätzliche Quellspalten hinzugefügt werden sollen.
Zulässige Werte sind false (Standard) und true.
Nein
partitionRootPath Wenn die Partitionsermittlung aktiviert ist, geben Sie den absoluten Stammpfad an, um partitionierte Ordner als Datenspalten zu lesen.

Wenn dieser Wert nicht angegeben ist, gilt standardmäßig Folgendes:
- Wenn Sie den Dateipfad im Dataset oder die Liste der Dateien in der Quelle verwenden, ist der Partitionsstammpfad der im Dataset konfigurierte Pfad.
– Wenn Sie einen Platzhalterordnerfilter verwenden, ist der Stammpfad der Partition der Unterpfad vor dem ersten Platzhalter.

Angenommen, Sie konfigurieren den Pfad im Dataset als „root/folder/year=2020/month=08/day=27“:
– Wenn Sie den Stammpfad der Partition als „root/folder/year=2020“ angeben, generiert die Kopieraktivität zusätzlich zu den Spalten in den Dateien zwei weitere Spalten month und day mit den Werten „08“ bzw. „27“.
– Wenn kein Stammpfad für die Partition angegeben ist, wird keine zusätzliche Spalte generiert.
Nein
maxConcurrentConnections Die Obergrenze gleichzeitiger Verbindungen mit dem Datenspeicher während der Aktivitätsausführung. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten. Nein

Beispiel:

"activities":[
    {
        "name": "CopyFromADLSGen1",
        "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": "AzureDataLakeStoreReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Data Lake Store als Senke

Azure Data Factory unterstützt die folgenden Dateiformate. Informationen zu formatbasierten Einstellungen finden Sie in den jeweiligen Artikeln.

Folgende Eigenschaften werden für Azure Data Lake Storage Gen1 unter storeSettings-Einstellungen in der formatbasierten Kopiersenke unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die „type“-Eigenschaft unter storeSettings muss auf AzureDataLakeStoreWriteSettings festgelegt werden. Ja
copyBehavior Definiert das Kopierverhalten, wenn es sich bei der Quelle um Dateien aus einem dateibasierten Datenspeicher handelt.

Zulässige Werte sind:
- PreserveHierarchy (Standard): Behält die Dateihierarchie im Zielordner bei. Der relative Pfad der Quelldatei zum Quellordner ist mit dem relativen Pfad der Zieldatei zum Zielordner identisch.
- FlattenHierarchy: Alle Dateien aus dem Quellordner befinden sich auf der ersten Ebene des Zielordners. Die Namen für die Zieldateien werden automatisch generiert.
- MergeFiles: Alle Dateien aus dem Quellordner werden in einer Datei zusammengeführt. Wenn der Dateiname angegeben wurde, entspricht der zusammengeführte Dateiname dem angegebenen Namen. Andernfalls wird der Dateiname automatisch generiert.
Nein
expiryDateTime Gibt die Ablaufzeit der geschriebenen Dateien an. Die Zeit wird auf die UTC-Zeitzone im Format 2020-03-01T08:00:00Z angewendet. Standardmäßig lautet der Wert NULL, was bedeutet, dass die geschriebenen Dateien nie ablaufen. Nein
maxConcurrentConnections Die Obergrenze gleichzeitiger Verbindungen mit dem Datenspeicher während der Aktivitätsausführung. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten. Nein

Beispiel:

"activities":[
    {
        "name": "CopyToADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Parquet output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "ParquetSink",
                "storeSettings":{
                    "type": "AzureDataLakeStoreWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Beispiele für Namensbereichfilter

In diesem Abschnitt wird das Verhalten beschrieben, das aus der Verwendung von Namensbereichfiltern resultiert.

Beispielquellstruktur Konfiguration Ergebnis
root
    a
        file.csv
    ax
        file2.csv
    ax.csv
    b
        file3.csv
    bx.csv
    c
        file4.csv
    cx.csv
Im Dataset:
– Ordnerpfad: root

In der Quelle der Kopieraktivität:
– Auflisten nach: a
– Auflisten vor: b
Anschließend werden die folgenden Dateien kopiert:

root
    ax
        file2.csv
    ax.csv
    b
        file3.csv

Beispiele für Ordner- und Dateifilter

Dieser Abschnitt beschreibt das sich ergebende Verhalten für den Ordnerpfad und den Dateinamen mit Platzhalterfiltern.

folderPath fileName recursive Quellordnerstruktur und Filterergebnis (Dateien mit Fettformatierung werden abgerufen.)
Folder* (Leer, Standardwert verwenden) false FolderA
    Datei1.csv
    File2.json
    Unterordner1
        File3.csv
        File4.json
        File5.csv
AndererOrdnerB
    Datei6.csv
Folder* (Leer, Standardwert verwenden) true FolderA
    Datei1.csv
    File2.json
    Unterordner1
        File3.csv
        File4.json
        File5.csv
AndererOrdnerB
    Datei6.csv
Folder* *.csv false FolderA
    Datei1.csv
    Datei2.json
    Unterordner1
        File3.csv
        File4.json
        File5.csv
AndererOrdnerB
    Datei6.csv
Folder* *.csv true FolderA
    Datei1.csv
    Datei2.json
    Unterordner1
        File3.csv
        File4.json
        File5.csv
AndererOrdnerB
    Datei6.csv

Beispiele für Dateilisten

In diesem Abschnitt wird das resultierende Verhalten beschrieben, wenn der Dateilistenpfad in der Quelle der Kopieraktivität verwendet wird.

Angenommen, Sie haben die folgende Quellordnerstruktur und möchten die Dateien kopieren, deren Namen fett formatiert sind:

Beispielquellstruktur Inhalt in „FileListToCopy.txt“ Konfiguration
root
    FolderA
        Datei1.csv
        Datei2.json
        Unterordner1
            File3.csv
            File4.json
            File5.csv
    Metadaten
        FileListToCopy.txt
Datei1.csv
Unterordner1/Datei3.csv
Unterordner1/Datei5.csv
Im Dataset:
– Ordnerpfad: root/FolderA

In der Quelle der Kopieraktivität:
– Dateilistenpfad: root/Metadata/FileListToCopy.txt

Der Dateilistenpfad verweist auf eine Textdatei im selben Datenspeicher, der eine Liste der zu kopierenden Dateien enthält, und zwar eine Datei pro Zeile. Diese enthält den relativen Pfad zu dem im Dataset konfigurierten Pfad.

Beispiele für das Verhalten des Kopiervorgangs

In diesem Abschnitt wird das resultierende Verhalten des Kopiervorgangs für verschiedene Kombinationen von recursive- und copyBehavior-Werten beschrieben.

recursive copyBehavior Struktur des Quellordners Resultierendes Ziel
true preserveHierarchy Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
Der Zielordner „Ordner1“ wird mit der gleichen Struktur erstellt wie die Quelle:

Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
true flattenHierarchy Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt:

Folder1
    Automatisch generierter Name für Datei1
    Automatisch generierter Name für Datei2
    Automatisch generierter Name für Datei3
    Automatisch generierter Name für Datei4
    Automatisch generierter Name für Datei5
true mergeFiles Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt:

Folder1
    Die Inhalte von Datei1, Datei2, Datei3, Datei4 und Datei5 werden in einer Datei mit einem automatisch generierten Dateinamen zusammengeführt.
false preserveHierarchy Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt:

Folder1
    Datei1
    Datei2

Unterordner1 mit Datei3, Datei4 und Datei5 wird nicht übernommen.
false flattenHierarchy Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt:

Folder1
    Automatisch generierter Name für Datei1
    Automatisch generierter Name für Datei2

Unterordner1 mit Datei3, Datei4 und Datei5 wird nicht übernommen.
false mergeFiles Folder1
    Datei1
    Datei2
    Unterordner1
        Datei3
        Datei4
        Datei5
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt:

Folder1
    Die Inhalte von Datei1 + Datei2 werden in einer Datei mit einem automatisch generierten Dateinamen zusammengeführt. Automatisch generierter Name für Datei1

Unterordner1 mit Datei3, Datei4 und Datei5 wird nicht übernommen.

Bewahren von Zugriffssteuerungslisten für Data Lake Storage Gen2

Tipp

Allgemeine Informationen zum Kopieren von Daten von Azure Data Lake Storage Gen1 in Gen2 sowie eine exemplarische Vorgehensweise und bewährte Methoden finden Sie unter Kopieren von Daten aus Azure Data Lake Storage Gen1 in Gen2.

Wenn Sie die Zugriffssteuerungslisten zusammen mit Datendateien beim Upgrade von Data Lake Storage Gen1 auf Gen2 replizieren möchten, finden Sie weitere Informationen unter Bewahren von Zugriffssteuerungslisten für Azure Data Lake Storage Gen1.

Eigenschaften von Mapping Data Flow

Wenn Sie Daten in Zuordnungsdatenflüsse transformieren, können Sie Dateien aus Azure Data Lake Storage Gen1 in den folgenden Formaten lesen und schreiben:

Formatspezifische Einstellungen finden Sie in der Dokumentation für das jeweilige Format. Weitere Informationen finden Sie unter Quelltransformation in einem Zuordnungsdatenfluss und Senkentransformation in einem Zuordnungsdatenfluss.

Quellentransformation

In der Quellentransformation können Sie in Azure Data Lake Storage Gen1 Daten aus einem Container, Ordner oder einer einzelnen Datei auslesen. Über die Registerkarte Quellenoptionen können Sie verwalten, wie die Dateien gelesen werden.

Screenshot: Registerkarte mit Optionen für die Quelle in der Quellentransformation im Zuordnungsdatenfluss

Platzhalterpfade: Mithilfe eines Platzhaltermusters wird der Dienst angewiesen, die einzelnen übereinstimmenden Ordner und Dateien in einer einzigen Quelltransformation zu durchlaufen. Dies ist eine effektive Methode zur Verarbeitung von mehreren Dateien in einem einzigen Datenfluss. Mit dem Pluszeichen (+), das angezeigt wird, wenn Sie mit dem Cursor auf Ihr vorhandenes Platzhaltermuster zeigen, können Sie weitere Platzhaltermuster hinzufügen.

Wählen Sie in Ihrem Quellcontainer eine Reihe von Dateien aus, die einem Muster entsprechen. Nur der Container kann im Dataset angegeben werden. Daher muss Ihr Platzhalterpfad auch den Ordnerpfad des Stammordners enthalten.

Beispiele für Platzhalter:

  • *: Stellt eine beliebige Zeichenfolge dar

  • **: Stellt rekursive Verzeichnisschachtelung dar

  • ?: Ersetzt ein Zeichen

  • []: Stimmt mit einem oder mehreren Zeichen in den Klammern überein

  • /data/sales/**/*.csv: Ruft alle CSV-Dateien unter „/data/sales“ ab

  • /data/sales/20??/**/ Ruft alle Dateien rekursiv innerhalb aller übereinstimmenden 20xx-Ordner ab

  • /data/sales/*/*/*.csv: Ruft CSV-Dateien auf zwei Ebenen unter „/data/sales“ ab

  • /data/sales/2004/12/[XY]1?.csv Ruft alle CSV-Dateien vom Dezember 2004 ab, die mit X oder Y beginnen und anschließend eine 1 und ein beliebiges einzelnes Zeichen aufweisen

Partitionsstammpfad: Wenn Ihre Dateiquelle partitionierte Ordner mit dem Format key=value (z. B. Jahr=2019) enthält, können Sie die oberste Ebene dieser Ordnerstruktur einem Spaltennamen im Datenstrom Ihres Datenflusses zuweisen.

Legen Sie zunächst einen Platzhalter fest, um darin alle Pfade, die die partitionierten Ordner sind, sowie die zu lesenden Blattdateien einzuschließen.

Screenshot: Einstellungen für Partitionsquelldateien in der Quellentransformation im Zuordnungsdatenfluss

Verwenden Sie die Einstellung „Partitionsstammpfad“, um zu definieren, was die oberste Ebene der Ordnerstruktur ist. Wenn Sie die Inhalte Ihrer Daten über die Datenvorschau anzeigen, sehen Sie, dass der Dienst die aufgelösten Partitionen hinzufügt, die auf den einzelnen Ordnerebenen gefunden werden.

Partitionsstammpfad

Liste der Dateien: Dies ist eine Dateigruppe. Erstellen Sie eine Textdatei mit einer Liste der relativen Pfade der zu verarbeitenden Dateien. Verweisen Sie auf diese Textdatei.

Spalte für die Speicherung im Dateinamen: Speichern Sie den Namen der Quelldatei in einer Spalte in den Daten. Geben Sie hier einen neuen Spaltennamen ein, um die Zeichenfolge für den Dateinamen zu speichern.

Nach der Fertigstellung: Wählen Sie aus, ob Sie nach dem Ausführen des Datenflusses nichts mit der Quelldatei anstellen, die Quelldatei löschen oder die Quelldateien verschieben möchten. Die Pfade für das Verschieben sind relative Pfade.

Um Quelldateien an einen anderen Speicherort nach der Verarbeitung zu verschieben, wählen Sie zuerst für den Dateivorgang die Option „Verschieben“ aus. Legen Sie dann das Quellverzeichnis („from“/„aus“) fest. Wenn Sie keine Platzhalter für Ihren Pfad verwenden, entspricht die Einstellung „from“ dem Quellordner.

Wenn Sie einen Quellpfad mit Platzhalter verwenden, sieht Ihre Syntax ähnlich wie die folgende aus:

/data/sales/20??/**/*.csv

Geben Sie „from“ beispielsweise wie folgt an:

/data/sales

Und „to“ können Sie wie folgt angeben:

/backup/priorSales

In diesem Fall werden alle Dateien, die aus „/Data/Sales“ erstellt wurden, in „/Backup/priorSales“ verschoben.

Hinweis

Die Dateivorgänge werden nur ausgeführt, wenn der Datenfluss anhand der Aktivität zum Ausführen des Datenflusses in einer Pipeline über eine Pipelineausführung ausgeführt wird (Debuggen der Pipeline oder Ausführung). Dateivorgänge werden nicht im Datenfluss-Debugmodus ausgeführt.

Nach der letzten Änderung filtern: Sie können einen Datumsbereich angeben, um die zu verarbeitenden Dateien nach der letzten Änderung zu filtern. Alle Zeitangaben sind in UTC.

Change Data Capture aktivieren: Bei einer Festlegung auf TRUE erhalten Sie neue oder geänderte Dateien nur aus der letzten Ausführung. Das erste Laden der vollständigen Momentaufnahmedaten erfolgt immer bei der ersten Ausführung, gefolgt von der Erfassung neuer oder geänderter Dateien nur in den nächsten Ausführungen. Weitere Informationen finden Sie unter Change Data Capture.

Screenshot: Change Data Capture aktivieren

Senkeneigenschaften

In der Senkentransformation können Sie in Azure Data Lake Storage Gen1 in einen Container oder Ordner schreiben. Über die Registerkarte Einstellungen können Sie verwalten, wie die Dateien geschrieben werden.

Senkenoptionen

Ordner löschen: Bestimmt, ob der Zielordner vor dem Schreiben der Daten gelöscht wird.

Dateinamenoption: Bestimmt, wie die Zieldateien im Zielordner benannt werden. Es gibt folgende Dateinamenoptionen:

  • Standard: Lassen Sie zu, dass Spark Dateien basierend auf den PART-Standards benennt.
  • Muster: Geben Sie ein Muster ein, das Ihre Ausgabedateien pro Partition aufführt. Zum Beispiel erstellt loans[n].csv die Dateien „loans1.csv“, „loans2.csv“ usw.
  • Pro Partition: Geben Sie einen Dateinamen pro Partition ein.
  • Wie Daten in Spalte: Legen Sie die Ausgabedatei auf den Wert einer Spalte fest. Der Pfad ist relativ zum Datasetcontainer und nicht zum Zielordner. Wenn Ihr Dataset einen Ordnerpfad enthält, wird er überschrieben.
  • Ausgabe in eine einzelne Datei: Mit dieser Option werden die partitionierten Ausgabedateien in einer einzelnen Datei kombiniert. Der Pfad ist relativ zum Datasetordner. Bedenken Sie, dass der Zusammenführungsvorgang je nach Knotengröße zu Fehlern führen kann. Diese Option wird für große Datasets nicht empfohlen.

Alle in Anführungszeichen: Bestimmt, ob alle Werte in Anführungszeichen eingeschlossen werden sollen.

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Eigenschaften der GetMetadata-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter GetMetadata-Aktivität.

Eigenschaften der Delete-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Delete-Aktivität.

Legacy-Modelle

Hinweis

Die folgenden Modelle werden aus Gründen der Abwärtskompatibilität weiterhin unverändert unterstützt. Es wird jedoch empfohlen, in Zukunft das in den obigen Abschnitten erwähnte neue Modell zu verwenden, da das neue Modell nun von der Benutzeroberfläche für die Dokumenterstellung generiert wird.

Legacy-Datasetmodell

Eigenschaft Beschreibung Erforderlich
type Die „type“-Eigenschaft des Datasets muss auf AzureDataLakeStoreFile festgelegt werden. Ja
folderPath Pfad zum Ordner in Data Lake Storage. Wenn keine Angabe vorhanden ist, wird auf das Stammverzeichnis verwiesen.

Der Platzhalterfilter wird unterstützt. Folgende Platzhalter sind zulässig: * (entspricht null [0] oder mehr Zeichen) und ? (entspricht null [0] oder einem einzelnen Zeichen). Verwenden Sie ^ als Escapezeichen, wenn der tatsächliche Ordnername einen Platzhalter oder dieses Escapezeichen enthält.

Beispiel: „Stammordner/Unterordner/“. Weitere Beispiele finden Sie unter Beispiele für Ordner- und Dateifilter.
Nein
fileName Name oder Platzhalterfilter für die Dateien unter dem angegebenen Wert für „folderPath“. Wenn Sie für diese Eigenschaft keinen Wert angeben, verweist das Dataset auf alle Dateien im Ordner.

Für Filter sind die Platzhalter * (entspricht null [0] oder mehr Zeichen) und ? (entspricht null [0] oder einem einzelnen Zeichen) zulässig.
- Beispiel 1: "fileName": "*.csv"
- Beispiel 2: "fileName": "???20180427.txt"
Verwenden Sie ^ als Escapezeichen, wenn der tatsächliche Dateiname einen Platzhalter oder dieses Escapezeichen enthält.

Wenn „fileName“ nicht für ein Ausgabedataset und preserveHierarchy nicht in der Aktivitätssenke angegeben sind, generiert die Kopieraktivität den Dateinamen automatisch mit dem folgenden Muster: „Data.[GUID der Aktivitätsausführungs-ID].[GUID, sofern „FlattenHierarchy“].[Format, sofern konfiguriert].[Komprimierung, sofern konfiguriert] “, z.B. „Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz“. Wenn Sie Daten aus einer Quelle im Tabellenformat kopieren und dabei anstelle einer Abfrage den Tabellennamen verwenden, lautet das Namensmuster „ [Tabellenname].[Format].[Komprimierung, sofern konfiguriert] “, z.B. „MyTable.csv“.
Nein
modifiedDatetimeStart Dateifilterung basierend auf dem Attribut „Letzte Änderung“. Die Dateien werden ausgewählt, wenn der Zeitpunkt ihrer letzten Änderung größer als oder gleich modifiedDatetimeStart und kleiner als modifiedDatetimeEnd ist. Die Zeit wird auf die UTC-Zeitzone im Format „2018-12-01T05:00:00Z“ angewandt.

Die generelle Leistung der Datenverschiebung wird beeinträchtigt, wenn Sie diese Einstellung aktivieren und eine Dateifilterung für eine große Zahl von Dateien vornehmen möchten.

Die Eigenschaften können NULL sein, was bedeutet, dass kein Dateiattributfilter auf das Dataset angewandt wird. Wenn modifiedDatetimeStart einen datetime-Wert aufweist, aber modifiedDatetimeEnd NULL ist, bedeutet dies, dass die Dateien ausgewählt werden, deren Attribut für die letzte Änderung größer oder gleich dem datetime-Wert ist. Wenn modifiedDatetimeEnd einen datetime-Wert aufweist, aber modifiedDatetimeStart NULL ist, bedeutet dies, dass die Dateien ausgewählt werden, deren Attribut für die letzte Änderung kleiner als der datetime-Wert ist.
Nein
modifiedDatetimeEnd Dateifilterung basierend auf dem Attribut „Letzte Änderung“. Die Dateien werden ausgewählt, wenn der Zeitpunkt ihrer letzten Änderung größer als oder gleich modifiedDatetimeStart und kleiner als modifiedDatetimeEnd ist. Die Zeit wird auf die UTC-Zeitzone im Format „2018-12-01T05:00:00Z“ angewandt.

Die generelle Leistung der Datenverschiebung wird beeinträchtigt, wenn Sie diese Einstellung aktivieren und eine Dateifilterung für eine große Zahl von Dateien vornehmen möchten.

Die Eigenschaften können NULL sein, was bedeutet, dass kein Dateiattributfilter auf das Dataset angewandt wird. Wenn modifiedDatetimeStart einen datetime-Wert aufweist, aber modifiedDatetimeEnd NULL ist, bedeutet dies, dass die Dateien ausgewählt werden, deren Attribut für die letzte Änderung größer oder gleich dem datetime-Wert ist. Wenn modifiedDatetimeEnd einen datetime-Wert aufweist, aber modifiedDatetimeStart NULL ist, bedeutet dies, dass die Dateien ausgewählt werden, deren Attribut für die letzte Änderung kleiner als der datetime-Wert ist.
Nein
format Wenn Sie Dateien unverändert zwischen dateibasierten Speichern kopieren möchten (binäre Kopie), können Sie den Formatabschnitt bei den Definitionen von Eingabe- und Ausgabedatasets überspringen.

Für das Analysieren oder Generieren von Dateien mit einem bestimmten Format werden die folgenden Dateiformattypen unterstützt: TextFormat, JsonFormat, AvroFormat, OrcFormat und ParquetFormat. Sie müssen die type-Eigenschaft unter format auf einen dieser Werte festlegen. Weitere Informationen finden Sie in den Abschnitten Textformat, JSON-Format, Avro-Format, Orc-Format und Parquet-Format.
Nein (nur für Szenarien mit Binärkopien)
compression Geben Sie den Typ und den Grad der Komprimierung für die Daten an. Weitere Informationen finden Sie unter Unterstützte Dateiformate und Codecs für die Komprimierung.
Unterstützte Typen sind GZip, Deflate, BZIP2 und ZipDeflate.
Unterstützte Grade sind Optimal und Schnellste.
Nein

Tipp

Wenn Sie alle Dateien eines Ordners kopieren möchten, geben Sie nur folderPath an.
Wenn Sie eine einzelne Datei mit einem bestimmten Namen kopieren möchten, geben Sie folderPath mit einem Ordner und fileName mit einem Dateinamen an.
Wenn Sie eine Teilmenge der Dateien eines Ordners kopieren möchten, geben Sie folderPath mit einem Ordner und fileName mit einem Platzhalterfilter an.

Beispiel:

{
    "name": "ADLSDataset",
    "properties": {
        "type": "AzureDataLakeStoreFile",
        "linkedServiceName":{
            "referenceName": "<ADLS linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "datalake/myfolder/",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Legacy-Kopieraktivität: Quellenmodell

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Quelle der Kopieraktivität muss auf AzureDataLakeStoreSource festgelegt werden. Ja
recursive Gibt an, ob die Daten rekursiv aus den Unterordnern oder nur aus dem angegebenen Ordner gelesen werden. Wenn recursive auf „true“ festgelegt ist und es sich bei der Senke um einen dateibasierten Speicher handelt, wird ein leerer Ordner oder Unterordner nicht in die Senke kopiert oder dort erstellt. Zulässige Werte sind true (Standard) und false. Nein
maxConcurrentConnections Die Obergrenze gleichzeitiger Verbindungen mit dem Datenspeicher während der Aktivitätsausführung. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten. Nein

Beispiel:

"activities":[
    {
        "name": "CopyFromADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ADLS Gen1 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzureDataLakeStoreSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Legacy-Kopieraktivität – Senkenmodell

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Senke der Kopieraktivität muss auf AzureDataLakeStoreSink festgelegt werden. Ja
copyBehavior Definiert das Kopierverhalten, wenn es sich bei der Quelle um Dateien aus einem dateibasierten Datenspeicher handelt.

Zulässige Werte sind:
- PreserveHierarchy (Standard): Behält die Dateihierarchie im Zielordner bei. Der relative Pfad der Quelldatei zum Quellordner ist mit dem relativen Pfad der Zieldatei zum Zielordner identisch.
- FlattenHierarchy: Alle Dateien aus dem Quellordner befinden sich auf der ersten Ebene des Zielordners. Die Namen für die Zieldateien werden automatisch generiert.
- MergeFiles: Alle Dateien aus dem Quellordner werden in einer Datei zusammengeführt. Wenn der Dateiname angegeben wurde, entspricht der zusammengeführte Dateiname dem angegebenen Namen. Andernfalls wird der Dateiname automatisch generiert.
Nein
maxConcurrentConnections Die Obergrenze gleichzeitiger Verbindungen mit dem Datenspeicher während der Aktivitätsausführung. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten. Nein

Beispiel:

"activities":[
    {
        "name": "CopyToADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ADLS Gen1 output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureDataLakeStoreSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Change Data Capture (Vorschau)

Azure Data Factory kann neue oder geänderte Dateien nur aus Azure Data Lake Storage Gen1 erhalten, indem Sie Change Data Capture aktivieren (Vorschau) in der Transformation für Zuordnungsdatenflussquellen aktivieren. Mit dieser Connectoroption können Sie nur neue oder aktualisierte Dateien lesen und Transformationen anwenden, bevor Sie transformierte Daten in Zieldatensets Ihrer Wahl laden.

Stellen Sie sicher, dass Sie die Pipeline und den Aktivitätsnamen unverändert lassen, damit der Prüfpunkt immer von der letzten Ausführung aufgezeichnet werden kann, um Änderungen von dort zu erhalten. Wenn Sie den Namen Ihrer Pipeline oder Aktivität ändern, wird der Prüfpunkt zurückgesetzt, und Sie beginnen bei der nächsten Ausführung wieder am Anfang.

Wenn Sie die Pipeline debuggen, funktioniert auch Change Data Capture aktivieren (Vorschau). Der Prüfpunkt wird zurückgesetzt, wenn Sie Ihren Browser während der Debugausführung aktualisieren. Wenn Sie mit dem Ergebnis der Debugausführung zufrieden sind, können Sie die Pipeline veröffentlichen und auslösen. Sie beginnt immer von Anfang an, unabhängig vom vorherigen Prüfpunkt, der von der Debug-Ausführung aufgezeichnet wurde.

Im Abschnitt „Überwachung“ haben Sie immer die Möglichkeit, eine Pipeline erneut ausführen. Auf diese Weise werden die Änderungen immer aus dem Prüfpunktdatensatz in Ihrer ausgewählten Pipeline ausgeführt.

Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in der Dokumentation für Unterstützte Datenspeicher.