Share via


Gegevens kopiëren en transformeren in Azure Data Lake Storage Gen2 met behulp van Azure Data Factory of Azure 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 .

Azure Data Lake Storage Gen2 (ADLS Gen2) is een set mogelijkheden die is toegewezen aan big data-analyses die zijn ingebouwd in Azure Blob Storage. U kunt het gebruiken om interactie met uw gegevens te maken met behulp van paradigma's voor zowel het bestandssysteem als de objectopslag.

In dit artikel wordt beschreven hoe u kopieeractiviteit gebruikt om gegevens van en naar Azure Data Lake Storage Gen2 te kopiëren en Gegevensstroom te gebruiken om gegevens te transformeren in Azure Data Lake Storage Gen2. Lees het inleidende artikel voor Azure Data Factory of Azure Synapse Analytics voor meer informatie.

Tip

Voor data lake- of datawarehouse-migratiescenario's vindt u meer informatie in Gegevens migreren van uw data lake of datawarehouse naar Azure.

Ondersteunde mogelijkheden

Deze Azure Data Lake Storage Gen2-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR Beheerd privé-eindpunt
Copy-activiteit (bron/sink) (1) (2)
Toewijzingsgegevensstroom (bron/sink) (1)
Activiteit Lookup (1) (2)
GetMetadata-activiteit (1) (2)
Activiteit verwijderen (1) (2)

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

Voor Copy-activiteit kunt u met deze connector het volgende doen:

Aan de slag

Tip

Zie Gegevens laden in Azure Data Lake Storage Gen2 voor een overzicht van het gebruik van de Data Lake Storage Gen2-connector.

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

Een gekoppelde Azure Data Lake Storage Gen2-service maken met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde Azure Data Lake Storage Gen2-service te maken 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 Azure Data Lake Storage Gen2 en selecteer de Azure Data Lake Storage Gen2-connector.

    Selecteer de Azure Data Lake Storage Gen2-connector.

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

    Schermopname van de configuratie voor de gekoppelde Azure Data Lake Storage Gen2-service.

Configuratiedetails van connector

De volgende secties bevatten informatie over eigenschappen die worden gebruikt voor het definiëren van Data Factory- en Synapse-pijplijnentiteiten die specifiek zijn voor Data Lake Storage Gen2.

Eigenschappen van gekoppelde service

De Azure Data Lake Storage Gen2-connector ondersteunt de volgende verificatietypen. Zie de bijbehorende secties voor meer informatie:

Notitie

  • Als u de openbare Azure Integration Runtime wilt gebruiken om verbinding te maken met Data Lake Storage Gen2 door gebruik te maken van de optie Vertrouwde Microsoft-services toegang geven tot deze optie voor het opslagaccount die is ingeschakeld op de Azure Storage-firewall, moet u verificatie van beheerde identiteiten gebruiken. Zie Azure Storage-firewalls en virtuele netwerken configureren voor meer informatie over de instellingen voor Azure Storage-firewalls.
  • Wanneer u de PolyBase- of COPY-instructie gebruikt om gegevens te laden in Azure Synapse Analytics, moet u, als uw bron of fasering Data Lake Storage Gen2 is geconfigureerd met een Azure Virtual Network-eindpunt, beheerde identiteitsverificatie gebruiken zoals vereist door Azure Synapse. Zie de sectie verificatie van beheerde identiteiten met meer configuratievereisten.

Verificatie van accountsleutels

Voor het gebruik van verificatie van opslagaccountsleutels worden de volgende eigenschappen ondersteund:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op AzureBlobFS. Ja
URL Eindpunt voor Data Lake Storage Gen2 met het patroon .https://<accountname>.dfs.core.windows.net Ja
accountKey Accountsleutel voor Data Lake Storage Gen2. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als deze eigenschap niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nr.

Notitie

Het eindpunt van het secundaire ADLS-bestandssysteem wordt niet ondersteund bij het gebruik van verificatie van accountsleutels. U kunt andere verificatietypen gebruiken.

Voorbeeld:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "accountkey": { 
                "type": "SecureString", 
                "value": "<accountkey>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Shared Access Signature Authentication

Een SAS (een handtekening voor gedeelde toegang) biedt gedelegeerde toegang tot resources in uw opslagaccount. U kunt een handtekening voor gedeelde toegang gebruiken om een client gedurende een opgegeven tijd beperkte machtigingen te verlenen aan objecten in uw opslagaccount.

U hoeft uw accounttoegangssleutels niet te delen. De handtekening voor gedeelde toegang is een URI die in de queryparameters alle informatie omvat die nodig is voor geverifieerde toegang tot een opslagresource. Voor toegang tot opslagbronnen met de handtekening voor gedeelde toegang hoeft de client alleen de handtekening voor gedeelde toegang door te geven aan de juiste constructor of methode.

Zie Handtekeningen voor gedeelde toegang voor meer informatie over handtekeningen voor gedeelde toegang : Inzicht in het shared access signature-model.

Notitie

  • De service ondersteunt nu handtekeningen voor gedeelde toegang en handtekeningen voor gedeelde toegang voor accounts. Zie Beperkte toegang verlenen tot Azure Storage-resources met behulp van handtekeningen voor gedeelde toegang voor meer informatie over handtekeningen voor gedeelde toegang.
  • In latere gegevenssetconfiguraties is het mappad het absolute pad dat begint vanaf het containerniveau. U moet er een configureren die is afgestemd op het pad in uw SAS-URI.

De volgende eigenschappen worden ondersteund voor het gebruik van shared access Signature-verificatie:

Eigenschappen Beschrijving Vereist
type De type eigenschap moet worden ingesteld op AzureBlobFS (voorgesteld) Ja
sasUri Geef de handtekening-URI voor gedeelde toegang op voor de opslagbronnen, zoals blob of container.
Markeer dit veld om SecureString het veilig op te slaan. U kunt het SAS-token ook in Azure Key Vault plaatsen om automatisch draaien te gebruiken en het tokengedeelte te verwijderen. Zie de volgende voorbeelden en sla referenties op in Azure Key Vault 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. Nr.

Notitie

Als u het AzureStorage type gekoppelde service gebruikt, wordt deze nog steeds ondersteund. Maar we raden u aan om het nieuwe AzureDataLakeStorageGen2 gekoppelde servicetype in de toekomst te gebruiken.

Voorbeeld:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld: de accountsleutel opslaan in Azure Key Vault

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.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>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Houd rekening met de volgende punten wanneer u een handtekening-URI voor gedeelde toegang maakt:

  • Stel de juiste lees-/schrijfmachtigingen in voor objecten op basis van de manier waarop de gekoppelde service (lezen, schrijven, lezen/schrijven) wordt gebruikt.
  • Stel de verlooptijd op de juiste wijze in. Zorg ervoor dat de toegang tot Opslagobjecten niet verloopt binnen de actieve periode van de pijplijn.
  • De URI moet worden gemaakt in de juiste container of blob op basis van de behoefte. Met een handtekening-URI voor gedeelde toegang voor een blob heeft de data factory of Synapse-pijplijn toegang tot die specifieke blob. Met een handtekening-URI voor gedeelde toegang naar een Blob Storage-container kan de Data Factory- of Synapse-pijplijn doorlopen via blobs in die container. Als u later toegang wilt geven tot meer of minder objecten of als u de handtekening-URI voor gedeelde toegang wilt bijwerken, moet u de gekoppelde service bijwerken met de nieuwe URI.

Verificatie van service-principal

Volg deze stappen om verificatie van de service-principal te gebruiken.

  1. Een toepassing registreren bij het Microsoft-identiteitsplatform. Zie quickstart: Een toepassing registreren bij het Microsoft Identity Platform voor meer informatie. Noteer deze waarden, die u gebruikt om de gekoppelde service te definiëren:

    • Toepassings-id
    • Toepassingssleutel
    • Tenant-id
  2. Verdeel de juiste machtiging voor de service-principal. Bekijk voorbeelden van hoe machtigingen werken in Data Lake Storage Gen2 vanuit toegangsbeheerlijsten voor bestanden en mappen

    • Als bron: verleen in Storage Explorer minimaal de machtiging Uitvoeren voor ALLE upstream-mappen en het bestandssysteem, in combinatie met de machtiging Lezen voor de bestanden die u wilt kopiëren. Als alternatief kunt u in Toegangsbeheer (IAM) ook minimaal de rol Storage-blobgegevenslezer verlenen.
    • Als sink: verleen in Storage Explorer minimaal de machtiging Uitvoeren voor ALLE upstream-mappen en het bestandssysteem, in combinatie met de machtiging Schrijven voor de sink-map. Als alternatief kunt u in Toegangsbeheer (IAM) ook minimaal de rol Storage-blobgegevensinzender verlenen.

Notitie

Als u de gebruikersinterface gebruikt om te schrijven en de service-principal niet is ingesteld met de rol Storage Blob Data Reader/Inzender in IAM, kiest u bij het testen van de verbinding of bladeren/navigeren in mappen de optie 'Verbinding met bestandspad testen' of 'Bladeren vanaf opgegeven pad' en geeft u een pad op met de machtiging Lezen en Uitvoeren om door te gaan.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op AzureBlobFS. Ja
URL Eindpunt voor Data Lake Storage Gen2 met het patroon .https://<accountname>.dfs.core.windows.net Ja
servicePrincipalId Geef de client-id van de toepassing op. Ja
servicePrincipalCredentialType Het referentietype dat moet worden gebruikt voor verificatie van de service-principal. Toegestane waarden zijn ServicePrincipalKey en ServicePrincipalCert. Ja
servicePrincipalCredential De referenties van de service-principal.
Wanneer u ServicePrincipalKey als referentietype gebruikt, geeft u de sleutel van de toepassing op. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault.
Wanneer u ServicePrincipalCert als referentie gebruikt, verwijst u naar een certificaat in Azure Key Vault en zorgt u ervoor dat het certificaatinhoudstype PKCS #12 is.
Ja
servicePrincipalKey Geef de sleutel van de toepassing op. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault.
Deze eigenschap wordt nog steeds ondersteund voor servicePrincipalId + servicePrincipalKey. Omdat ADF nieuwe certificaatverificatie voor service-principals toevoegt, is servicePrincipalId + + servicePrincipalCredentialTypeservicePrincipalCredentialhet nieuwe model voor verificatie van de service-principal.
Nee
AD-tenant Geef de tenantgegevens (domeinnaam of tenant-id) op waaronder uw toepassing zich bevindt. Haal deze op door de muis in de rechterbovenhoek van Azure Portal te bewegen. Ja
azureCloudType Geef voor service-principalverificatie het type Azure-cloudomgeving op waarnaar uw Microsoft Entra-toepassing is geregistreerd.
Toegestane waarden zijn AzurePublic, AzureChina, AzureUsGovernment en AzureGermany. Standaard wordt de cloudomgeving van de data factory of Synapse-pijplijn gebruikt.
Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld: verificatie van de service-principalsleutel gebruiken

U kunt ook een service-principalsleutel opslaan in Azure Key Vault.

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld: verificatie van service-principalcertificaten gebruiken

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalCredential": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<AKV reference>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<certificate name in AKV>" 
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Door het systeem toegewezen beheerde identiteitverificatie

Een data factory of Synapse-werkruimte kan worden gekoppeld aan een door het systeem toegewezen beheerde identiteit. U kunt deze door het systeem toegewezen beheerde identiteit rechtstreeks gebruiken voor Data Lake Storage Gen2-verificatie, vergelijkbaar met het gebruik van uw eigen service-principal. Hiermee kan deze aangewezen factory of werkruimte gegevens openen en kopiëren naar of van uw Data Lake Storage Gen2.

Volg deze stappen om door het systeem toegewezen beheerde identiteitverificatie te gebruiken.

  1. Haal de door het systeem toegewezen beheerde identiteitsgegevens op door de waarde van de object-id van de beheerde identiteit te kopiëren die samen met uw data factory of Synapse-werkruimte is gegenereerd.

  2. Verwijs de door het systeem toegewezen beheerde identiteit de juiste machtiging. Zie voorbeelden van de werking van machtigingen in Data Lake Storage Gen2 vanuit toegangsbeheerlijsten voor bestanden en mappen.

    • Als bron: verleen in Storage Explorer minimaal de machtiging Uitvoeren voor ALLE upstream-mappen en het bestandssysteem, in combinatie met de machtiging Lezen voor de bestanden die u wilt kopiëren. Als alternatief kunt u in Toegangsbeheer (IAM) ook minimaal de rol Storage-blobgegevenslezer verlenen.
    • Als sink: verleen in Storage Explorer minimaal de machtiging Uitvoeren voor ALLE upstream-mappen en het bestandssysteem, in combinatie met de machtiging Schrijven voor de sink-map. Als alternatief kunt u in Toegangsbeheer (IAM) ook minimaal de rol Storage-blobgegevensinzender verlenen.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op AzureBlobFS. Ja
URL Eindpunt voor Data Lake Storage Gen2 met het patroon .https://<accountname>.dfs.core.windows.net Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Door de gebruiker toegewezen beheerde identiteitverificatie

Een data factory kan worden toegewezen met een of meerdere door de gebruiker toegewezen beheerde identiteiten. U kunt deze door de gebruiker toegewezen beheerde identiteit gebruiken voor Blob Storage-verificatie, waarmee u gegevens kunt openen en kopiëren van of naar Data Lake Storage Gen2. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten voor Azure-resources

Volg deze stappen om door de gebruiker toegewezen beheerde identiteitverificatie te gebruiken:

  1. Maak een of meerdere door de gebruiker toegewezen beheerde identiteiten en verwijs toegang tot Azure Data Lake Storage Gen2. Zie voorbeelden van de werking van machtigingen in Data Lake Storage Gen2 vanuit toegangsbeheerlijsten voor bestanden en mappen.

    • Als bron: verleen in Storage Explorer minimaal de machtiging Uitvoeren voor ALLE upstream-mappen en het bestandssysteem, in combinatie met de machtiging Lezen voor de bestanden die u wilt kopiëren. Als alternatief kunt u in Toegangsbeheer (IAM) ook minimaal de rol Storage-blobgegevenslezer verlenen.
    • Als sink: verleen in Storage Explorer minimaal de machtiging Uitvoeren voor ALLE upstream-mappen en het bestandssysteem, in combinatie met de machtiging Schrijven voor de sink-map. Als alternatief kunt u in Toegangsbeheer (IAM) ook minimaal de rol Storage-blobgegevensinzender verlenen.
  2. Wijs een of meerdere door de gebruiker toegewezen beheerde identiteiten toe aan uw data factory en maak referenties voor elke door de gebruiker toegewezen beheerde identiteit.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op AzureBlobFS. Ja
URL Eindpunt voor Data Lake Storage Gen2 met het patroon .https://<accountname>.dfs.core.windows.net Ja
aanmeldingsgegevens Geef de door de gebruiker toegewezen beheerde identiteit op als referentieobject. Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
                }
            },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Notitie

Als u de Data Factory-gebruikersinterface gebruikt om te schrijven en de beheerde identiteit niet is ingesteld met de rol Storage Blob Data Reader/Inzender in IAM, kiest u bij het testen van de verbinding of bladeren/navigeren in mappen de optie Verbinding met bestandspad testen of Bladeren vanaf opgegeven pad en geeft u een pad op met de machtiging Lezen en Uitvoeren om door te gaan.

Belangrijk

Als u de PolyBase- of COPY-instructie gebruikt om gegevens uit Data Lake Storage Gen2 te laden in Azure Synapse Analytics, moet u bij het gebruik van beheerde identiteitsverificatie voor Data Lake Storage Gen2 ook stap 1 tot en met 3 in deze richtlijnen volgen. Met deze stappen wordt uw server geregistreerd bij Microsoft Entra ID en wordt de rol Inzender voor opslagblobgegevens toegewezen aan uw server. Data Factory verwerkt de rest. Als u Blob Storage configureert met een Azure Virtual Network-eindpunt, moet u ook vertrouwde Microsoft-services toegang hebben tot dit opslagaccount dat is ingeschakeld onder het menu Firewalls van azure Storage-accounts en instellingen voor virtuele netwerken, zoals vereist door Azure Synapse.

Eigenschappen van gegevensset

Zie Gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets.

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

De volgende eigenschappen worden ondersteund voor Data Lake Storage Gen2 onder location instellingen in de op indeling gebaseerde gegevensset:

Eigenschappen Beschrijving Vereist
type De typeeigenschap onder location in de gegevensset moet worden ingesteld op AzureBlobFSLocation. Ja
bestandssysteem De naam van het Data Lake Storage Gen2-bestandssysteem. Nee
folderPath Het pad naar een map onder het opgegeven bestandssysteem. Als u een jokerteken wilt gebruiken om mappen te filteren, slaat u deze instelling over en geeft u deze op in de instellingen van de activiteitsbron. Nee
fileName De bestandsnaam onder het opgegeven bestandssysteem + folderPath. Als u een jokerteken wilt gebruiken om bestanden te filteren, slaat u deze instelling over en geeft u deze op in de instellingen van de activiteitsbron. Nee

Voorbeeld:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Data Lake Storage Gen2 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobFSLocation",
                "fileSystem": "filesystemname",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Eigenschappen van de kopieeractiviteit

Zie Copy-activiteit configuraties en pijplijnen en activiteiten 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 worden ondersteund door de Data Lake Storage Gen2-bron en -sink.

Azure Data Lake Storage Gen2 als brontype

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

U hebt verschillende opties voor het kopiëren van gegevens uit ADLS Gen2:

  • Kopieer vanuit het opgegeven pad dat is opgegeven in de gegevensset.
  • Jokertekenfilter tegen mappad of bestandsnaam, zie wildcardFolderPath en wildcardFileName.
  • Kopieer de bestanden die zijn gedefinieerd in een bepaald tekstbestand als bestandsset.fileListPath

De volgende eigenschappen worden ondersteund voor Data Lake Storage Gen2 onder storeSettings instellingen in de op indeling gebaseerde kopieerbron:

Eigenschappen Beschrijving Vereist
type De eigenschap type onder storeSettings moet worden ingesteld op AzureBlobFSReadSettings. Ja
Zoek de bestanden die u wilt kopiëren:
OPTIE 1: statisch pad
Kopieer vanuit het opgegeven bestandssysteem of map/bestandspad dat is opgegeven in de gegevensset. Als u alle bestanden uit een bestandssysteem/map wilt kopiëren, moet u ook opgeven wildcardFileName als *.
OPTIE 2: jokerteken
- jokertekenFolderPath
Het pad naar de map met jokertekens onder het opgegeven bestandssysteem dat is geconfigureerd in de 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 ontsnappen als de naam van de map een jokerteken heeft of dit escape-teken bevat.
Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Nee
OPTIE 2: jokerteken
- wildcardFileName
De bestandsnaam met jokertekens onder het opgegeven bestandssysteem + folderPath/wildcardFolderPath 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 ontsnappen als uw werkelijke bestandsnaam jokertekens of dit escapeteken bevat. Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Ja
OPTIE 3: 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 geen bestandsnaam op in de gegevensset. Bekijk meer voorbeelden in voorbeelden van de lijst met bestanden.
Nee
Aanvullende instellingen:
recursief 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 Bestandenfilter 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 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, betekent dit dat de bestanden waarvan het laatst gewijzigde kenmerk groter is dan of gelijk is aan de datum/tijd-waarde worden geselecteerd. Wanneer modifiedDatetimeEnd de datum/tijd-waarde is, maar modifiedDatetimeStart NULL is, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner is dan de datum/tijd-waarde wordt 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
maxConcurrentConnections 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": "CopyFromADLSGen2",
        "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": "AzureBlobFSReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Data Lake Storage Gen2 als sinktype

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

De volgende eigenschappen worden ondersteund voor Data Lake Storage Gen2 onder storeSettings instellingen in de op indeling gebaseerde kopiesink:

Eigenschappen Beschrijving Vereist
type De eigenschap type onder storeSettings moet worden ingesteld op AzureBlobFSWriteSettings. Ja
copyBehavior Definieert het kopieergedrag wanneer de bron bestanden is uit een gegevensarchief op basis van bestanden.

Toegestane waarden zijn:
- PreserveHierarchy (standaard): behoudt de bestandshiërarchie in de doelmap. Het relatieve pad van het bronbestand naar de bronmap is identiek aan het relatieve pad van het doelbestand naar de doelmap.
- FlattenHierarchy: Alle bestanden uit de bronmap bevinden zich op het eerste niveau van de doelmap. De doelbestanden hebben automatisch gegenereerde namen.
- MergeFiles: hiermee worden alle bestanden uit de bronmap samengevoegd tot één bestand. Als de bestandsnaam is opgegeven, is de naam van het samengevoegde bestand de opgegeven naam. Anders is het een automatisch gegenereerde bestandsnaam.
Nee
blockSizeInMB Geef de blokgrootte op in MB die wordt gebruikt voor het schrijven van gegevens naar ADLS Gen2. Meer informatie over blok-blobs.
De toegestane waarde ligt tussen 4 MB en 100 MB.
Standaard bepaalt ADF automatisch de blokgrootte op basis van het type bronarchief en gegevens. Voor niet-binaire kopie in ADLS Gen2 is de standaardblokgrootte 100 MB, zodat deze maximaal 4,75 TB aan gegevens past. Het is mogelijk niet optimaal wanneer uw gegevens niet groot zijn, met name wanneer u zelf-hostende Integration Runtime gebruikt met een slecht netwerk, wat resulteert in een time-out of prestatieprobleem voor bewerkingen. U kunt expliciet een blokgrootte opgeven, terwijl blockSizeInMB*50000 groot genoeg is om de gegevens op te slaan, anders mislukt de kopieeractiviteit.
Nee
maxConcurrentConnections 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
metagegevens Stel aangepaste metagegevens in wanneer u kopieert naar sink. Elk object onder de metadata matrix vertegenwoordigt een extra kolom. De name naam van de metagegevenssleutel wordt gedefinieerd en de value gegevenswaarde van die sleutel wordt aangegeven. Als de kenmerkfunctie behouden wordt gebruikt, worden de opgegeven metagegevens samengevoegd/overschreven met de metagegevens van het bronbestand.

Toegestane gegevenswaarden zijn:
- $$LASTMODIFIED: een gereserveerde variabele geeft aan dat de laatste wijzigingstijd van de bronbestanden moet worden opgeslagen. Alleen van toepassing op een bron op basis van bestanden met binaire indeling.
-Uitdrukking
- Statische waarde
Nee

Voorbeeld:

"activities":[
    {
        "name": "CopyToADLSGen2",
        "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": "AzureBlobFSWriteSettings",
                    "copyBehavior": "PreserveHierarchy",
                    "metadata": [
                        {
                            "name": "testKey1",
                            "value": "value1"
                        },
                        {
                            "name": "testKey2",
                            "value": "value2"
                        },
                        {
                            "name": "lastModifiedKey",
                            "value": "$$LASTMODIFIED"
                        }
                    ]
                }
            }
        }
    }
]

Voorbeelden van map- en bestandsfilters

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

folderPath fileName recursief Structuur van bronmap en filterresultaat (bestanden vetgedrukt worden opgehaald)
Folder* (Leeg, standaard gebruiken) false MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (Leeg, standaard gebruiken) true MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv

Voorbeelden van bestandslijsten

In deze sectie wordt het resulterende gedrag beschreven van het gebruik van bestandslijstpad in bron van kopieeractiviteit.

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

Voorbeeldbronstructuur Inhoud in FileListToCopy.txt ADF-configuratie
bestandssysteem
    MapA
        File1.csv
        File2.json
        Submap1
            File3.csv
            File4.json
            File5.csv
    Metagegevens
        FileListToCopy.txt
File1.csv
Submap1/File3.csv
Submap1/File5.csv
In gegevensset:
-Bestandssysteem: filesystem
- Mappad: FolderA

In bron van kopieeractiviteit:
- Pad naar bestandslijst: filesystem/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.

Enkele recursieve en copyBehavior-voorbeelden

In deze sectie wordt het resulterende gedrag van de kopieerbewerking beschreven voor verschillende combinaties van recursieve en copyBehavior-waarden.

recursief copyBehavior Structuur van bronmap Resulterend doel
true preserveHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met dezelfde structuur als de bron:

Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
true flattenHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    automatisch gegenereerde naam voor Bestand1
    automatisch gegenereerde naam voor File2
    automatisch gegenereerde naam voor File3
    automatisch gegenereerde naam voor File4
    automatisch gegenereerde naam voor File5
true mergeFiles Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    File1 + File2 + File3 + File4 + File5-inhoud worden samengevoegd in één bestand met een automatisch gegenereerde bestandsnaam.
false preserveHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    Bestand1
    Bestand2

Submap1 met File3, File4 en File5 wordt niet opgehaald.
false flattenHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    automatisch gegenereerde naam voor Bestand1
    automatisch gegenereerde naam voor File2

Submap1 met File3, File4 en File5 wordt niet opgehaald.
false mergeFiles Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    De inhoud van Bestand1 + File2 wordt samengevoegd in één bestand met een automatisch gegenereerde bestandsnaam. automatisch gegenereerde naam voor Bestand1

Submap1 met File3, File4 en File5 wordt niet opgehaald.

Metagegevens behouden tijdens het kopiëren

Wanneer u bestanden kopieert van Amazon S3/Azure Blob/Azure Data Lake Storage Gen2 naar Azure Data Lake Storage Gen2/Azure Blob, kunt u ervoor kiezen om de metagegevens van bestanden samen met gegevens te behouden. Meer informatie over metagegevens behouden.

ACL's van Data Lake Storage Gen1/Gen2 behouden

Wanneer u bestanden kopieert van Azure Data Lake Storage Gen1/Gen2 naar Gen2, kunt u ervoor kiezen om de POSIX-toegangsbeheerlijsten (ACL's) samen met gegevens te behouden. Meer informatie over ACL's behouden van Data Lake Storage Gen1/Gen2 naar Gen2.

Tip

Als u gegevens van Azure Data Lake Storage Gen1 in het algemeen naar Gen2 wilt kopiëren, raadpleegt u Gegevens kopiëren van Azure Data Lake Storage Gen1 naar Gen2 voor een overzicht en aanbevolen procedures.

Eigenschappen van toewijzingsgegevensstroom

Wanneer u gegevens transformeert in toewijzingsgegevensstromen, kunt u bestanden lezen en schrijven vanuit Azure Data Lake Storage Gen2 in de volgende indelingen:

Indelingsspecifieke instellingen bevinden zich in de documentatie voor die indeling. Zie Brontransformatie in toewijzingsgegevensstroom en Sink-transformatie in toewijzingsgegevensstroom voor meer informatie.

Brontransformatie

In de brontransformatie kunt u lezen uit een container, map of afzonderlijk bestand in Azure Data Lake Storage Gen2. Op het tabblad Bronopties kunt u beheren hoe de bestanden worden gelezen.

Schermopname van het tabblad Bronopties in de brontransformatie van de toewijzingsgegevensstroom.

Jokertekenpad: Met behulp van een jokertekenpatroon wordt ADF geïnstrueerd om elke overeenkomende map en elk bestand in één brontransformatie te doorlopen. Dit is een effectieve manier om meerdere bestanden binnen één stroom te verwerken. Voeg meerdere jokertekenpatronen toe met het plusteken dat wordt weergegeven wanneer u de muisaanwijzer boven het bestaande jokertekenpatroon beweegt.

Kies in uw broncontainer een reeks bestanden die overeenkomen met een patroon. Alleen container kan worden opgegeven in de gegevensset. Uw jokertekenpad moet daarom ook uw mappad uit de hoofdmap bevatten.

Voorbeelden van jokertekens:

  • * Vertegenwoordigt een set tekens

  • ** Vertegenwoordigt recursieve directory-nesting

  • ? Hiermee wordt één teken vervangen

  • [] Komt overeen met een van de tekens tussen vierkante haken

  • /data/sales/**/*.csv Hiermee worden alle CSV-bestanden opgehaald onder /data/sales

  • /data/sales/20??/**/ Haalt alle bestanden in de 20e eeuw

  • /data/sales/*/*/*.csv Hiermee worden CSV-bestanden twee niveaus opgehaald onder /data/sales

  • /data/sales/2004/*/12/[XY]1?.csv Hiermee worden alle CSV-bestanden in 2004 in december opgehaald, beginnend met X of Y, voorafgegaan door een getal van twee cijfers

Hoofdpad partitie: als u mappen in uw bestandsbron hebt gepartitioneerd met een key=value indeling (bijvoorbeeld year=2019), kunt u het hoogste niveau van die partitiemapstructuur toewijzen aan een kolomnaam in uw gegevensstroomgegevensstroom.

Stel eerst een jokerteken in om alle paden op te nemen die de gepartitioneerde mappen zijn plus de leaf-bestanden die u wilt lezen.

Schermopname van de instellingen voor partitiebronbestanden in de brontransformatie van de toewijzingsgegevensstroom.

Gebruik de instelling Hoofdpad partitioneren om te definiëren wat het hoogste niveau van de mapstructuur is. Wanneer u de inhoud van uw gegevens bekijkt via een voorbeeld van gegevens, ziet u dat ADF de opgeloste partities toevoegt die in elk van uw mapniveaus zijn gevonden.

Hoofdpad voor partitie

Lijst met bestanden: dit is een bestandsset. Maak een tekstbestand met een lijst met relatieve padbestanden die moeten worden verwerkt. Wijs dit tekstbestand aan.

Kolom voor het opslaan van bestandsnaam: Sla de naam van het bronbestand op in een kolom in uw gegevens. Voer hier een nieuwe kolomnaam in om de bestandsnaamtekenreeks op te slaan.

Na voltooiing: Kies ervoor om niets te doen met het bronbestand nadat de gegevensstroom is uitgevoerd, verwijder het bronbestand of verplaats het bronbestand. De paden voor de verplaatsing zijn relatief.

Als u bronbestanden wilt verplaatsen naar een andere locatie na verwerking, selecteert u eerst Verplaatsen voor bestandsbewerking. Stel vervolgens de map 'from' in. Als u geen jokertekens voor uw pad gebruikt, is de instelling 'van' dezelfde map als uw bronmap.

Als u een bronpad met jokertekens hebt, ziet uw syntaxis er als volgt uit:

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

U kunt 'van' opgeven als

/data/sales

En 'aan' als

/backup/priorSales

In dit geval worden alle bestanden die zijn opgehaald onder /data/sales verplaatst naar /backup/priorSales.

Notitie

Bestandsbewerkingen worden alleen uitgevoerd wanneer u de gegevensstroom start vanuit een pijplijnuitvoering (een pijplijnopsporing of uitvoeringsuitvoering) die gebruikmaakt van de uitvoering Gegevensstroom-activiteit uitvoeren in een pijplijn. Bestandsbewerkingen worden niet uitgevoerd in Gegevensstroom foutopsporingsmodus.

Filteren op laatst gewijzigd: u kunt filteren welke bestanden u verwerkt door een datumbereik op te geven van wanneer ze voor het laatst zijn gewijzigd. Alle datums zijn in UTC.

Wijzigingsgegevens vastleggen inschakelen: als waar, krijgt u alleen nieuwe of gewijzigde bestanden van de laatste uitvoering. De eerste belasting van volledige momentopnamegegevens wordt altijd in de eerste uitvoering opgehaald, gevolgd door het vastleggen van nieuwe of gewijzigde bestanden alleen in de volgende uitvoeringen. Zie Gegevens vastleggen wijzigen voor meer informatie.

Schermopname van Het vastleggen van wijzigingsgegevens inschakelen.

Sink-eigenschappen

In de sinktransformatie kunt u schrijven naar een container of map in Azure Data Lake Storage Gen2. Op het tabblad Instellingen kunt u beheren hoe de bestanden worden geschreven.

sinkopties

De map wissen: bepaalt of de doelmap al dan niet wordt gewist voordat de gegevens worden geschreven.

Optie Bestandsnaam: bepaalt hoe de doelbestanden worden genoemd in de doelmap. De bestandsnaamopties zijn:

  • Standaard: Toestaan dat Spark bestanden een naam geeft op basis van de standaardinstellingen van PART.
  • Patroon: Voer een patroon in waarmee uw uitvoerbestanden per partitie worden opgesomd. Leningen[n].csv maken bijvoorbeeld loans1.csv, loans2.csv enzovoort.
  • Per partitie: Voer één bestandsnaam per partitie in.
  • Als gegevens in kolom: Stel het uitvoerbestand in op de waarde van een kolom. Het pad is relatief ten opzichte van de container van de gegevensset, niet de doelmap. Als u een mappad in uw gegevensset hebt, wordt dit overschreven.
  • Uitvoer naar één bestand: combineer de gepartitioneerde uitvoerbestanden in één benoemd bestand. Het pad is relatief ten opzichte van de map gegevensset. Houd er rekening mee dat de samenvoegbewerking mogelijk mislukt op basis van de knooppuntgrootte. Deze optie wordt niet aanbevolen voor grote gegevenssets.

Alle aanhalingstekens: bepaalt of alle waarden tussen aanhalingstekens moeten worden geplaatst

umask

U kunt desgewenst de umask voor bestanden instellen met POSIX-lees-, schrijf-, uitvoervlagken voor eigenaar, gebruiker en groep.

Opdrachten vóór verwerking en naverwerking

U kunt desgewenst Hadoop-bestandssysteemopdrachten uitvoeren voor of na schrijven naar een ADLS Gen2-sink. De volgende opdrachten worden ondersteund:

  • cp
  • mv
  • rm
  • mkdir

Voorbeelden:

  • mkdir /folder1
  • mkdir -p folder1
  • mv /folder1/*.* /folder2/
  • cp /folder1/file1.txt /folder2
  • rm -r /folder1

Parameters worden ook ondersteund via de opbouwfunctie voor expressies, bijvoorbeeld:

mkdir -p {$tempPath}/commands/c1/c2 mv {$tempPath}/commands/*.* {$tempPath}/commands/c1/c2

Mappen worden standaard gemaakt als gebruiker/hoofdmap. Raadpleeg de container op het hoogste niveau met '/'.

Eigenschappen van opzoekactiviteit

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

Eigenschappen van GetMetadata-activiteit

Als u meer wilt weten over de eigenschappen, controleert u de Activiteit GetMetadata

Activiteitseigenschappen verwijderen

Als u meer wilt weten over de eigenschappen, controleert u De activiteit Verwijderen

Verouderde modellen

Notitie

De volgende modellen worden nog steeds ondersteund voor compatibiliteit met eerdere versies. U wordt aangeraden het nieuwe model te gebruiken dat in de bovenstaande secties wordt genoemd en de ADF-ontwerpgebruikersinterface is overgeschakeld naar het genereren van het nieuwe model.

Verouderd gegevenssetmodel

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op AzureBlobFSFile. Ja
folderPath Pad naar de map in Data Lake Storage Gen2. Als dit niet is opgegeven, verwijst deze naar de hoofdmap.

Jokertekenfilter wordt ondersteund. Toegestane jokertekens zijn * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken). Gebruik ^ deze optie om te ontsnappen als uw werkelijke mapnaam een jokerteken heeft of als dit escape-teken zich binnen bevindt.

Voorbeelden: bestandssysteem/map/. Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Nee
fileName Naam of jokertekenfilter voor de bestanden onder het opgegeven mapPath. Als u geen waarde voor deze eigenschap opgeeft, verwijst de gegevensset naar alle bestanden in de map.

Voor het filteren zijn * de toegestane jokertekens (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken).
- Voorbeeld 1: "fileName": "*.csv"
- Voorbeeld 2: "fileName": "???20180427.txt"
Gebruik ^ deze optie om te ontsnappen als uw werkelijke bestandsnaam een jokerteken heeft of als dit escape-teken zich binnen bevindt.

Wanneer fileName niet is opgegeven voor een uitvoergegevensset en preserveHierarchy niet is opgegeven in de activiteitssink, genereert de kopieeractiviteit automatisch de bestandsnaam met het volgende patroon: 'Data.[ ID-GUID van activiteitsuitvoering]. [GUID als FlattenHierarchy]. [notatie indien geconfigureerd]. [compressie indien geconfigureerd]", bijvoorbeeld 'Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz'. Als u kopieert vanuit een tabellaire bron met behulp van een tabelnaam in plaats van een query, is het naampatroon [tabelnaam].[ format]. [compressie indien geconfigureerd]", bijvoorbeeld 'MyTable.csv'.
Nee
modifiedDatetimeStart Bestandenfilter 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 algehele prestaties van gegevensverplaatsing worden beïnvloed door deze instelling in te schakelen wanneer u een bestandsfilter wilt uitvoeren met grote hoeveelheden bestanden.

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, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd groter dan of gelijk aan de datum/tijd-waarde zijn geselecteerd. Wanneer modifiedDatetimeEnd een datum/tijd-waarde heeft, maar modifiedDatetimeStart NULL is, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner is dan de datum/tijd-waarde zijn geselecteerd.
Nee
modifiedDatetimeEnd Bestandenfilter 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 algehele prestaties van gegevensverplaatsing worden beïnvloed door deze instelling in te schakelen wanneer u een bestandsfilter wilt uitvoeren met grote hoeveelheden bestanden.

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, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd groter dan of gelijk aan de datum/tijd-waarde zijn geselecteerd. Wanneer modifiedDatetimeEnd een datum/tijd-waarde heeft, maar modifiedDatetimeStart NULL is, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner is dan de datum/tijd-waarde zijn geselecteerd.
Nee
indeling Als u bestanden wilt kopiëren zoals tussen op bestanden gebaseerde archieven (binaire kopie), slaat u de indelingssectie over in de definities van de invoer- en uitvoergegevensset.

Als u bestanden met een specifieke indeling wilt parseren of genereren, worden de volgende bestandstypen ondersteund: TextFormat, JsonFormat, AvroFormat, OrcFormat en ParquetFormat. Stel de typeeigenschap onder opmaak in op een van deze waarden. Zie de secties Tekstindeling, JSON-indeling, Avro-indeling, ORC-indeling en Parquet-indeling voor meer informatie.
Nee (alleen voor binair kopieerscenario)
compressie Geef het type en het compressieniveau voor de gegevens op. Zie Ondersteunde bestandsindelingen en compressiecodecs voor meer informatie.
Ondersteunde typen zijn **GZip**, **Deflate**, **BZip2**, and **ZipDeflate**.
Ondersteunde niveaus zijn Optimaal en Snelste.
Nee

Tip

Als u alle bestanden onder een map wilt kopiëren, geeft u alleen folderPath op.
Als u één bestand met een bepaalde naam wilt kopiëren, geeft u folderPath op met een maponderdeel en fileName met een bestandsnaam.
Als u een subset van bestanden onder een map wilt kopiëren, geeft u folderPath op met een maponderdeel en fileName met een jokertekenfilter.

Voorbeeld:

{
    "name": "ADLSGen2Dataset",
    "properties": {
        "type": "AzureBlobFSFile",
        "linkedServiceName": {
            "referenceName": "<Azure Data Lake Storage Gen2 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "myfilesystem/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"
            }
        }
    }
}

Bronmodel van verouderde kopieeractiviteit

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op AzureBlobFSSource. Ja
recursief Hiermee wordt aangegeven of de gegevens recursief worden gelezen uit de submappen of alleen uit de opgegeven map. Wanneer recursief is ingesteld op true en de sink een archief op basis van bestanden is, wordt een lege map of submap niet gekopieerd of gemaakt in de sink.
Toegestane waarden zijn waar (standaard) en onwaar.
Nee
maxConcurrentConnections 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": "CopyFromADLSGen2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ADLS Gen2 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzureBlobFSSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Verouderd sinkmodel voor kopieeractiviteit

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de sink van de kopieeractiviteit moet worden ingesteld op AzureBlobFSSink. Ja
copyBehavior Definieert het kopieergedrag wanneer de bron bestanden is uit een gegevensarchief op basis van bestanden.

Toegestane waarden zijn:
- PreserveHierarchy (standaard): behoudt de bestandshiërarchie in de doelmap. Het relatieve pad van het bronbestand naar de bronmap is identiek aan het relatieve pad van het doelbestand naar de doelmap.
- FlattenHierarchy: Alle bestanden uit de bronmap bevinden zich op het eerste niveau van de doelmap. De doelbestanden hebben automatisch gegenereerde namen.
- MergeFiles: hiermee worden alle bestanden uit de bronmap samengevoegd tot één bestand. Als de bestandsnaam is opgegeven, is de naam van het samengevoegde bestand de opgegeven naam. Anders is het een automatisch gegenereerde bestandsnaam.
Nee
maxConcurrentConnections 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": "CopyToADLSGen2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ADLS Gen2 output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureBlobFSSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Gegevensregistratie wijzigen

Azure Data Factory kan nieuwe of gewijzigde bestanden alleen ophalen uit Azure Data Lake Storage Gen2 door wijzigingsgegevensopname inschakelen in te schakelen in de brontransformatie van de toewijzingsgegevensstroom. Met deze connectoroptie kunt u alleen nieuwe of bijgewerkte bestanden lezen en transformaties toepassen voordat u getransformeerde gegevens laadt in doelgegevenssets van uw keuze.

Zorg ervoor dat u de naam van de pijplijn en activiteit ongewijzigd laat, zodat het controlepunt altijd kan worden vastgelegd vanaf de laatste uitvoering om daar wijzigingen op te halen. Als u de naam van uw pijplijn of activiteit wijzigt, wordt het controlepunt opnieuw ingesteld en begint u vanaf het begin in de volgende uitvoering.

Wanneer u fouten in de pijplijn opssport, werkt het vastleggen van wijzigingsgegevens ook. Houd er rekening mee dat het controlepunt opnieuw wordt ingesteld wanneer u uw browser vernieuwt tijdens de uitvoering van foutopsporing. Nadat u tevreden bent met het resultaat van de foutopsporingsuitvoering, kunt u de pijplijn publiceren en activeren. Het begint altijd vanaf het begin, ongeacht het vorige controlepunt dat is vastgelegd door de foutopsporingsuitvoering.

In de sectie Bewaking hebt u altijd de mogelijkheid om een pijplijn opnieuw uit te voeren. Wanneer u dit doet, worden de wijzigingen altijd opgehaald uit de controlepuntrecord in de geselecteerde pijplijnuitvoering.

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