Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Azure Data Factory
Azure Synapse Analytics
Tipp
Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.
In diesem Artikel wird beschrieben, wie Daten in und aus Azure Files kopiert werden. Weitere Informationen zu Azure Data Factory finden Sie im Artikel introductory.
Unterstützte Funktionen
Dieser Azure Files Connector wird für die folgenden Funktionen unterstützt:
| Unterstützte Funktionen | Infrarot | Verwalteter privater Endpunkt |
|---|---|---|
| Copy-Aktivität (Quelle/Senke) | (1) (2) | ✓ Speicherkonto V1 ausschließen |
| Lookup-Aktivität | (1) (2) | ✓ Speicherkonto V1 ausschließen |
| GetMetadata-Aktivität | (1) (2) | ✓ Speicherkonto V1 ausschließen |
| Aktivität löschen | (1) (2) | ✓ Speicherkonto V1 ausschließen |
(1) Azure Integrationslaufzeit (2) Selbst gehostete Integrationslaufzeit
Sie können Daten aus Azure Files in jeden unterstützten Senkendatenspeicher kopieren oder Daten aus jedem unterstützten Quelldatenspeicher in Azure Files kopieren. Eine Liste der Datenspeicher, die die Kopieraktivität als Quellen und Senken unterstützt, finden Sie unter Unterstützte Datenspeicher und Formate.
Insbesondere unterstützt dieser Azure Files Connector Folgendes:
- Kopieren von Dateien mithilfe der Authentifizierung per Kontoschlüssel oder per Dienst-SAS (Shared Access Signature).
- Kopieren von Dateien im jeweiligen Zustand oder Analysieren bzw. Generieren von Dateien mit den unterstützten Dateiformaten und Codecs für die Komprimierung
Erste Schritte
Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:
- Datenkopier-Tool
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST-API
- Azure Resource Manager Vorlage
Erstellen eines verknüpften Diensts zum Azure Files mithilfe der Benutzeroberfläche
Führen Sie die folgenden Schritte aus, um in der Benutzeroberfläche des Azure-Portals einen verknüpften Dienst zu Azure Files zu erstellen.
Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte "Verwalten", und wählen Sie "Verknüpfte Dienste" aus, und klicken Sie dann auf "Neu":
Suchen Sie nach Datei, und wählen Sie den Connector für Azure Files mit der Bezeichnung Azure Dateispeicher aus.
Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.
Details zur Connector-Konfiguration
In den folgenden Abschnitten werden Details zu Eigenschaften bereitgestellt, die zum Definieren von Entitäten verwendet werden, die für Azure Files spezifisch sind.
Eigenschaften des verknüpften Diensts
Der Azure Files Connector unterstützt die folgenden Authentifizierungstypen. Weitere Informationen finden Sie in den entsprechenden Abschnitten.
- Kontoschlüsselauthentifizierung
- SAS-Authentifizierung (Shared Access Signature)
- Authentifizierung mit einer systemseitig zugewiesenen verwalteten Identität
- Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität
Hinweis
Sie können den verknüpften Azure Files-Dienst mit einem Legacymodell verwenden, in dem auf der Benutzeroberfläche zum Erstellen einer ADF die „Standardauthentifizierung“ angezeigt wird. Dies wird unverändert unterstützt, es wird jedoch empfohlen, in Zukunft das neue Modell zu verwenden. Das Legacymodell überträgt Daten an den bzw. aus dem Speicher über SMB (Server Message Block), während das neue Modell das Speicher-SDK verwendet, das einen besseren Durchsatz aufweist. Um ein Upgrade durchzuführen, können Sie den verknüpften Dienst bearbeiten und die Authentifizierungsmethode in „Kontoschlüssel“ oder „SAS-URI“ ändern. Für das Dataset und die Kopieraktivität sind keine Änderungen erforderlich.
Kontoschlüsselauthentifizierung
Data Factory unterstützt die folgenden Eigenschaften für Azure Files Kontoschlüsselauthentifizierung:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft muss auf Folgendes festgelegt werden: AzureFileStorage. | Ja |
| connectionString | Geben Sie die informationen an, die zum Herstellen einer Verbindung mit Azure Files erforderlich sind. Sie können den Kontoschlüssel auch in Azure Key Vault platzieren und die konfiguration accountKey aus dem connection string herausziehen. Weitere Informationen finden Sie in den folgenden Beispielen und den Store-Anmeldeinformationen im Artikel Azure Key Vault. |
Ja |
| fileShare | Geben Sie die Dateifreigabe an. | Ja |
| Momentaufnahme | Geben Sie das Datum der Dateifreigabe-Momentaufnahme an, wenn die Kopie von einer Momentaufnahme erstellt werden soll. | Nein |
| connectVia | Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Sie können Azure Integration Runtime oder selbst gehostete Integration Runtime verwenden (wenn sich Ihr Datenspeicher im privaten Netzwerk befindet). Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. | Nein |
Beispiel:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net;",
"fileShare": "<file share name>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: Speichern sie den Kontoschlüssel in Azure Key Vault
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
"fileShare": "<file share name>",
"accountKey": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
SAS-Authentifizierung (Shared Access Signature)
Shared Access Signatures bieten delegierten Zugriff auf Ressourcen in Ihrem Speicherkonto. Sie können eine Shared Access Signature (SAS) verwenden, um einem Client für einen bestimmten Zeitraum eingeschränkte Berechtigungen für Objekte in Ihrem Speicherkonto zu gewähren. Weitere Informationen zu Shared Access Signatures finden Sie unter Shared Access Signatures (SAS): Verstehen des Shared Access Signature-Modells.
Der Dienst unterstützt die folgenden Eigenschaften für die Verwendung der gemeinsamen Zugriffs-Signatur-Authentifizierung:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft muss auf Folgendes festgelegt werden: AzureFileStorage. | Ja |
| sasUri | Geben Sie den SAS-URI zur den Ressourcen an. Markieren Sie dieses Feld als SecureString, um es sicher zu speichern. Sie können das SAS-Token auch in Azure Key Vault platzieren, um die automatische Drehung zu verwenden und den Tokenteil zu entfernen. Weitere Informationen finden Sie in den folgenden Beispielen und Anmeldeinformationen in Azure Key Vault speichern. |
Ja |
| fileShare | Geben Sie die Dateifreigabe an. | Ja |
| Momentaufnahme | Geben Sie das Datum der Dateifreigabe-Momentaufnahme an, wenn die Kopie von einer Momentaufnahme erstellt werden soll. | Nein |
| connectVia | Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Sie können Azure Integration Runtime oder selbst gehostete Integration Runtime verwenden (wenn sich Ihr Datenspeicher im privaten Netzwerk befindet). Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. | Nein |
Beispiel:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the resource e.g. https://<accountname>.file.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
},
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: Speichern des SAS-Tokens in Azure Key Vault
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.file.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
},
"fileShare": "<file share name>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Authentifizierung mit einer systemseitig zugewiesenen verwalteten Identität
Eine Data Factory- oder Synapse-Pipeline kann einer system zugewiesenen verwalteten Identität für Azure Ressourcen zugeordnet werden, die diese Ressource für die Authentifizierung für andere Azure Dienste darstellt. Sie können diese vom System zugewiesene verwaltete Identität für Azure Files Authentifizierung verwenden. Weitere Informationen zu verwalteten Identitäten für Azure Ressourcen finden Sie unter Managed-Identitäten für Azure Ressourcen.
Führen Sie die folgenden Schritte aus, um die Authentifizierung mit einer systemseitig zugewiesenen verwalteten Identität zu verwenden:
Rufen Sie die Informationen zur systemseitig zugewiesenen verwalteten Identität ab, indem Sie den Wert der Objekt-ID der systemseitig zugewiesenen verwalteten Identität kopieren, die zusammen mit Ihrer Factory- oder Ihrem Synapse-Arbeitsbereich generiert wurde.
Erteilen Sie die Berechtigung "Verwaltete Identität" in Azure Files. Weitere Informationen zu den Rollen finden Sie in diesem Artikel.
- Als Quelle, in Zugriffssteuerung (IAM), gewähren Sie mindestens die Rolle Storage File Data Privileged Reader.
- Als Sink, in Zugriffssteuerung (IAM), gewähren Sie mindestens die Rolle Storage File Data Privileged Contributor.
Diese Eigenschaften werden für einen Azure Files verknüpften Dienst unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft muss auf AzureFileStorage festgelegt werden. | Ja |
| serviceEndpoint | Geben Sie den Azure Files Dienstendpunkt mit dem Muster https://<accountName>.file.core.windows.net/ an. |
Ja |
| fileShare | Geben Sie die Dateifreigabe an. | Ja |
| Momentaufnahme | Geben Sie das Datum der Dateifreigabe-Momentaufnahme an, wenn die Kopie von einer Momentaufnahme erstellt werden soll. | Nein |
| connectVia | Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Sie können Azure Integration Runtime verwenden. Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. | Nein |
Hinweis
Die vom System zugewiesene Authentifizierung über verwaltete Identität wird nur von der Azure-Integrationslaufzeit unterstützt.
Beispiel:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.file.core.windows.net/",
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Authentifizierung mithilfe einer benutzerdefinierten verwalteten Identität
Eine Data Factory kann mit einer oder mehreren benutzerseitig zugewiesenen verwalteten Identitäten zugewiesen werden. Sie können diese vom Benutzer zugewiesene verwaltete Identität für Azure Files Authentifizierung verwenden, die den Zugriff auf und das Kopieren von Daten von oder Azure Files ermöglicht. Weitere Informationen zu verwalteten Identitäten für Azure Ressourcen finden Sie unter Managed-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:
Erstellen Sie eine oder mehrere benutzerzugewiesene verwaltete Identitäten und gewähren Sie Berechtigungen in Azure Files. Weitere Informationen zu den Rollen finden Sie in diesem Artikel.
- Als Quelle, in Zugriffssteuerung (IAM), gewähren Sie mindestens die Rolle Storage File Data Privileged Reader.
- Als Sink, in Zugriffssteuerung (IAM), gewähren Sie mindestens die Rolle Storage File Data Privileged Contributor.
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.
Diese Eigenschaften werden für einen Azure Files verknüpften Dienst unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft muss auf AzureFileStorage festgelegt werden. | Ja |
| serviceEndpoint | Geben Sie den Azure Files Dienstendpunkt mit dem Muster https://<accountName>.file.core.windows.net/ an. |
Ja |
| Zugangsdaten | Geben Sie die benutzerseitig zugewiesene verwaltete Identität als Anmeldeinformationsobjekt an. | Ja |
| fileShare | Geben Sie die Dateifreigabe an. | Ja |
| Momentaufnahme | Geben Sie das Datum der Dateifreigabe-Momentaufnahme an, wenn die Kopie von einer Momentaufnahme erstellt werden soll. | Nein |
| connectVia | Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Sie können Azure Integration Runtime oder selbst gehostete Integration Runtime verwenden (wenn sich Ihr Datenspeicher im privaten Netzwerk befindet). Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. | Nein |
Beispiel:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.file.core.windows.net/",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
},
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Legacymodell
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft muss auf Folgendes festgelegt werden: AzureFileStorage. | Ja |
| host | Gibt den Azure Files Endpunkt an als: – Unter Verwendung der Benutzeroberfläche: Geben Sie \\<storage name>.file.core.windows.net\<file service name> an.– Unter Verwendung von JSON: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>". |
Ja |
| userid | Geben Sie den Benutzer an, um auf die Azure Files zuzugreifen: – Unter Verwendung der Benutzeroberfläche: Geben Sie AZURE\<storage name> an.– Unter Verwendung von JSON: "userid": "AZURE\\<storage name>". |
Ja |
| Passwort | Geben Sie den Speicherzugriffsschlüssel an. Markieren Sie dieses Feld als SecureString, um es sicher in Data Factory zu speichern, oder beziehen Sie ein in Azure Key Vault gespeichertes Geheimnis. | Ja |
| connectVia | Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Sie können Azure Integration Runtime oder selbst gehostete Integration Runtime verwenden (wenn sich Ihr Datenspeicher im privaten Netzwerk befindet). Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. | Quelle: Nein, Senke: Ja |
Beispiel:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"host": "\\\\<storage name>.file.core.windows.net\\<file service name>",
"userid": "AZURE\\<storage name>",
"password": {
"type": "SecureString",
"value": "<storage access key>"
}
},
"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.
- Avro-Format
- Binärformat
- Durch Trennzeichen getrenntes Textformat
- Excel-Format
- JSON-Format
- ORC-Format
- Parquet-Format
- XML-Format
Die folgenden Eigenschaften werden für Azure Files unter location Einstellungen im formatbasierten Datensatz unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die „type“-Eigenschaft unter location im Dataset muss auf AzureFileStorageLocation festgelegt werden. |
Ja |
| folderPath | Der Pfad zum Ordner. Wenn Sie Platzhalter verwenden möchten, um Ordner zu filtern, überspringen Sie diese Einstellung, und geben Sie entsprechende Aktivitätsquelleneinstellungen an. | Nein |
| Dateiname | Der Name der Datei unter dem angegebenen „folderPath“. Wenn Sie Platzhalter verwenden möchten, um Dateien zu filtern, überspringen Sie diese Einstellung und spezifizieren Sie dies in den Einstellungen der Aktivitätsquelle. | Nein |
Beispiel:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Azure File Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureFileStorageLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von Azure Files Quelle und Sink unterstützt werden.
Azure Files als Quelle
Azure Data Factory unterstützt die folgenden Dateiformate. Informationen zu formatbasierten Einstellungen finden Sie in den jeweiligen Artikeln.
- Avro-Format
- Binärformat
- Durch Trennzeichen getrenntes Textformat
- Excel-Format
- JSON-Format
- ORC-Format
- Parquet-Format
- XML-Format
Folgende Eigenschaften werden für Azure-Files unter den storeSettings-Einstellungen in der formatbasierten Kopierquelle unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die „type“-Eigenschaft unter storeSettings muss auf AzureFileStorageReadSettings festgelegt werden. |
Ja |
| Lokalisieren 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: Dateipräfix – prefix |
Präfix für den Dateinamen in der angegebenen Dateifreigabe, die in einem Dataset zum Filtern von Quelldateien konfiguriert ist. Es werden Dateien ausgewählt, deren Namen mit fileshare_in_linked_service/this_prefix beginnen. Er verwendet den dienstseitigen Filter für Azure Files, der eine bessere Leistung als ein Wildcardfilter bietet. Dieses Feature wird bei Verwendung eines verknüpften Legacydienstmodells nicht unterstützt. |
Nein |
| OPTION 3: Jokerzeichen – 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: Jokerzeichen – 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. Wenn Sie diese Option verwenden, dürfen Sie keinen Dateinamen im Dataset angeben. Weitere Beispiele finden Sie unter Beispiele für Dateilisten. |
Nein |
| Zusätzliche Einstellungen: | ||
| rekursiv | 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 |
| DateienNachAbschlussLöschen | 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 den 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 den 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.Diese Eigenschaft gilt nicht, wenn Sie fileListPath konfigurieren. |
Nein |
| modifiedDatetimeEnd | Wie oben. | Nein |
| partitionserkennungAktivieren | 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. Falls nicht anders angegeben, gilt standardmäßig: - 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 die beiden weiteren 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 |
| maximale gleichzeitige Verbindungen | Die Maximalanzahl 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": "CopyFromAzureFileStorage",
"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": "AzureFileStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Files als Senke
Azure Data Factory unterstützt die folgenden Dateiformate. Informationen zu formatbasierten Einstellungen finden Sie in den jeweiligen Artikeln.
- Avro-Format
- Binärformat
- Durch Trennzeichen getrenntes Textformat
- JSON-Format
- ORC-Format
- Parquet-Format
Folgende Eigenschaften werden für Azure Files unter den storeSettings-Einstellungen in der formatbasierten Kopiersenke unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die „type“-Eigenschaft unter storeSettings muss auf AzureFileStorageWriteSettings festgelegt werden. |
Ja |
| Kopieverhalten | 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 entspricht dem relativen Pfad der Zieldatei zum Zielordner. - 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 |
| maximale gleichzeitige Verbindungen | Die Maximalanzahl 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": "CopyToAzureFileStorage",
"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": "AzureFileStorageWriteSettings",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
]
Hinweis
Sie können bis zu 4 MB Daten in die Senke kopieren, wenn Sie eine systemseitig zugewiesene oder eine benutzerseitig zugewiesene verwaltete Identität als Authentifizierungstyp verwenden.
Beispiele für Ordner- und Dateifilter
Dieser Abschnitt beschreibt das sich ergebende Verhalten für den Ordnerpfad und den Dateinamen mit Platzhalterfiltern.
| folderPath | Dateiname | rekursiv | Ordnerstruktur der Quelle und Filterergebnis (Dateien in Fett werden abgerufen.) |
|---|---|---|---|
Folder* |
(leer, Standardeinstellung verwenden) | false | FolderA Datei1.csv File2.json Unterverzeichnis1 File3.csv File4.json File5.csv AndererOrdnerB Datei6.csv |
Folder* |
(leer, Standardeinstellung verwenden) | wahr | FolderA Datei1.csv File2.json Unterverzeichnis1 File3.csv File4.json File5.csv AndererOrdnerB Datei6.csv |
Folder* |
*.csv |
false | FolderA Datei1.csv Datei2.json Unterverzeichnis1 File3.csv File4.json File5.csv AndererOrdnerB Datei6.csv |
Folder* |
*.csv |
wahr | FolderA Datei1.csv Datei2.json Unterverzeichnis1 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 Unterverzeichnis1 File3.csv File4.json File5.csv Metadaten DateilisteZumKopieren.txt |
Datei1.csv Unterordner1/Datei3.csv Unterordner1/Datei5.csv |
Im Datensatz: – Ordnerpfad: root/FolderAIn der Quelle der Kopieraktivitäten: – 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 "recursive" und "copyBehavior"
Dieser Abschnitt beschreibt das resultierende Verhalten des Kopiervorgangs für verschiedene Kombinationen von rekursiven und CopyBehavior-Werten.
| rekursiv | Kopieverhalten | Struktur des Quellordners | Resultierendes Ziel |
|---|---|---|---|
| wahr | Hierarchie erhalten | Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
Der Zielordner „Ordner1“ wird mit der gleichen Struktur erstellt wie die Quelle: Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
| wahr | flattenHierarchy | Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt: Ordner1 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 |
| wahr | Dateien zusammenführen | Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt: Ordner1 Inhalte von Datei1 + Datei2 + Datei3 + Datei4 + Datei5 werden in einer Datei mit einem automatisch generierten Namen zusammengeführt. |
| false | Hierarchie erhalten | Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt: Ordner1 Datei1 Datei2 Unterordner1 mit Datei3, Datei4 und Datei5 wird nicht übernommen. |
| false | flattenHierarchy | Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt: Ordner1 Automatisch generierter Name für Datei1 Automatisch generierter Name für Datei2 Unterordner1 mit Datei3, Datei4 und Datei5 wird nicht übernommen. |
| false | Dateien zusammenführen | Ordner1 Datei1 Datei2 Unterverzeichnis1 Datei3 Datei4 Datei5 |
Der Zielordner „Ordner1“ wird mit der folgenden Struktur erstellt: Ordner1 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. |
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.
Aktivitätseigenschaften löschen
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 |
|---|---|---|
| Typ | Die type-Eigenschaft des Datasets muss auf folgenden Wert festgelegt werden: FileShare | Ja |
| folderPath | Pfad zum Ordner. Platzhalterfilter werden unterstützt. Zulässige Platzhalter sind: * (entspricht null oder mehr Zeichen) und ? (entspricht null oder einem einzelnen Zeichen). Verwenden Sie ^ als Escapezeichen, wenn Ihr tatsächlicher Ordnername einen Platzhalter oder dieses Escapezeichen enthält. Beispiele: Stammordner/Unterordner/. Weitere Beispiele finden Sie unter Beispiele für Ordner- und Dateifilter. |
Ja |
| Dateiname |
Name oder Platzhalterfilter für die Datei(en) unter dem angegebenen „folderPath“. Wenn Sie für diese Eigenschaft keinen Wert angeben, verweist das Dataset auf alle Dateien im Ordner. Für Filter sind folgende Platzhalter zulässig: * (entspricht null oder mehr Zeichen) und ? (entspricht null oder einem Zeichen).- 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“ für ein Ausgabedatensatz nicht angegeben ist und preserveHierarchy in der Aktivitätensenke nicht angegeben ist, generiert die Copy-Aktivität den Dateinamen automatisch mit dem folgenden Muster: „Data.[Aktivitätsausführungs-ID GUID].[GUID bei FlattenHierarchy].[Format, falls konfiguriert].[Komprimierung, falls konfiguriert]“, zum Beispiel „Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz“. Wenn Sie aus einer tabellarischen Quelle kopieren und den Tabellennamen anstelle einer Abfrage verwenden, lautet das Namensmuster „[Tabellenname].[Format].[Komprimierung, falls 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. Beachten Sie, dass die generelle Leistung der Datenverschiebung beeinträchtigt wird, 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 den 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 den 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. Beachten Sie, dass die generelle Leistung der Datenverschiebung beeinträchtigt wird, 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 den 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 den 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 " Parkettformat" . |
Nein (nur für Szenarien mit Binärkopien) |
| Komprimierung | 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. Folgende Typen werden unterstützt: GZip, Deflate, BZip2 und ZipDeflate. Folgende Ebenen werden unterstützt: Optimal und Fastest. |
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 dem Ordner und fileName mit dem Dateinamen an.
Wenn Sie eine Teilmenge der Dateien eines Ordners kopieren möchten, geben Sie folderPath mit dem Ordnerpfad und fileName mit einem Wildcard-Filter an.
Hinweis
Wenn Sie die Eigenschaft „fileFilter“ für den Dateifilter verwendet haben, wird sie weiterhin unverändert unterstützt. Es wird aber empfohlen, ab sofort die Filterfunktion zu verwenden, die „fileName“ neu hinzugefügt wurde.
Beispiel:
{
"name": "AzureFileStorageDataset",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<Azure File Storage linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "folder/subfolder/",
"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 |
|---|---|---|
| Typ | Die type-Eigenschaft der Quelle der Kopieraktivität muss auf Folgendes festgelegt werden: FileSystemSource | Ja |
| rekursiv | Gibt an, ob die Daten rekursiv aus den Unterordnern oder nur aus dem angegebenen Ordner gelesen werden. Beachten Sie Folgendes: Wenn „recursive“ auf TRUE festgelegt und die Senke ein dateibasierter Speicher ist, wird ein leerer Ordner/Unterordner nicht in die Senke kopiert bzw. nicht in ihr erstellt. Zulässige Werte sind true (Standard) oder false. |
Nein |
| maximale gleichzeitige Verbindungen | Die Maximalanzahl 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": "CopyFromAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure File Storage input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Legacy-Kopieraktivität – Senkenmodell
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft der Senke der Kopieraktivität muss auf Folgendes festgelegt sein: FileSystemSink | Ja |
| Kopieverhalten | Definiert das Kopierverhalten, wenn es sich bei der Quelle um Dateien aus einem dateibasierten Datenspeicher handelt. Zulässige Werte sind: - PreserveHierarchy (Standard): Die Dateihierarchie wird im Zielordner beibehalten. Der relative Pfad der Quelldatei zum Quellordner entspricht dem relativen Pfad der Zieldatei zum Zielordner. - FlattenHierarchy: Alle Dateien aus dem Quellordner befinden sich in 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 Name dem angegebenen Namen. Andernfalls wird ein automatisch generierter Dateiname verwendet. |
Nein |
| maximale gleichzeitige Verbindungen | Die Maximalanzahl 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": "CopyToAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Azure File Storage output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "FileSystemSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
Zugehöriger Inhalt
Eine Liste der Datenspeicher, die als Quellen und Senken für die Kopieraktivität unterstützt werden, finden Sie in unterstützte Datenspeicher.