Delen via


Gegevens kopiëren en transformeren in Azure Blob Storage 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 .

In dit artikel wordt beschreven hoe u de Copy-activiteit gebruikt in Azure Data Factory- en Azure Synapse-pijplijnen om gegevens van en naar Azure Blob Storage te kopiëren. Ook wordt beschreven hoe u de Gegevensstroom-activiteit gebruikt om gegevens te transformeren in Azure Blob Storage. Lees de inleidingsartikelen van Azure Data Factory en Azure Synapse Analytics voor meer informatie.

Tip

Zie het artikel Gegevens migreren van uw data lake of datawarehouse naar Azure voor meer informatie over een migratiescenario voor een data lake of een datawarehouse.

Ondersteunde mogelijkheden

Deze Azure Blob Storage-connector wordt ondersteund voor de volgende mogelijkheden:

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

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

Voor de Copy-activiteit ondersteunt deze Blob Storage-connector:

  • Blobs kopiëren naar en van azure-opslagaccounts voor algemeen gebruik en dynamische/statische blobopslag.
  • Blobs kopiëren met behulp van een accountsleutel, een Shared Access Signature (SAS), een service-principal of beheerde identiteiten voor Azure-resourceverificaties.
  • Blobs kopiëren van blok-, toevoeg- of pagina-blobs en gegevens kopiëren naar alleen blok-blobs.
  • Blobs kopiëren zoals dat is, of blobs parseren of genereren met ondersteunde bestandsindelingen en compressiecodecs.
  • Bestandsmetagegevens behouden tijdens het kopiëren.

Aan de slag

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

Een gekoppelde Azure Blob Storage-service maken met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde Azure Blob Storage-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 selecteer vervolgens Nieuw:

  2. Zoek naar blob en selecteer de Azure Blob Storage-connector.

    Azure Blob Storage-connector selecteren.

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

    Schermopname van de configuratie voor gekoppelde Azure Blob Storage-service.

Configuratiedetails van connector

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

Eigenschappen van gekoppelde service

Deze Blob Storage-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 uw Blob-opslag door gebruik te maken van de optie Vertrouwde Microsoft-services toegang verlenen tot deze optie voor het opslagaccount die is ingeschakeld in 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 faseringsblobopslag is geconfigureerd met een Azure Virtual Network-eindpunt, beheerde identiteitsverificatie gebruiken zoals vereist voor Azure Synapse. Zie de sectie Verificatie van beheerde identiteiten voor meer configuratievereisten.

Notitie

Azure HDInsight- en Azure Machine Learning-activiteiten ondersteunen alleen verificatie die gebruikmaakt van Azure Blob Storage-accountsleutels.

Anonieme verificatie

De volgende eigenschappen worden ondersteund voor verificatie van opslagaccountsleutels in Azure Data Factory- of Synapse-pijplijnen:

Eigenschappen Beschrijving Vereist
type De type eigenschap moet zijn ingesteld op AzureBlobStorage (voorgesteld) of AzureStorage (zie de volgende opmerkingen). Ja
containerUri Geef de URI van de Azure Blob-container op die anonieme leestoegang heeft ingeschakeld door deze indeling https://<AccountName>.blob.core.windows.net/<ContainerName> te gebruiken en anonieme openbare leestoegang voor containers en blobs configureren Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of de zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als deze eigenschap niet is opgegeven, gebruikt de service de standaard Azure Integration Runtime. Nee

Voorbeeld:


{
    "name": "AzureBlobStorageAnonymous",
    "properties": {
        "annotations": [],
        "type": "AzureBlobStorage",
        "typeProperties": {
            "containerUri": "https:// <accountname>.blob.core.windows.net/ <containername>",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeelden van gebruikersinterface:

De gebruikersinterface-ervaring is zoals beschreven in de volgende afbeelding. In dit voorbeeld wordt de open Azure-gegevensset als bron gebruikt. Als u de geopende gegevensset wilt ophalen bing_covid-19_data.csv, hoeft u alleen verificatietype te kiezen als Anoniem en container-URI in te vullen methttps://pandemicdatalake.blob.core.windows.net/public.

Schermopname van de configuratie voor de gebruikersinterface van anonieme voorbeelden.

Verificatie van accountsleutels

De volgende eigenschappen worden ondersteund voor verificatie van opslagaccountsleutels in Azure Data Factory- of Synapse-pijplijnen:

Eigenschappen Beschrijving Vereist
type De type eigenschap moet zijn ingesteld op AzureBlobStorage (voorgesteld) of AzureStorage (zie de volgende opmerkingen). Ja
connectionString Geef de informatie op die nodig is om verbinding te maken met Storage voor de connectionString eigenschap.
U kunt de accountsleutel ook in Azure Key Vault plaatsen en de accountKey configuratie uit de verbindingsreeks halen. Zie de volgende voorbeelden en het artikel Store-referenties 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

Een secundair Blob-service-eindpunt wordt niet ondersteund wanneer u verificatie van accountsleutels gebruikt. U kunt andere verificatietypen gebruiken.

Notitie

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

Voorbeeld:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
          "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        },
        "connectVia": {
          "referenceName": "<name of Integration Runtime>",
          "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld: de accountsleutel opslaan in Azure Key Vault

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
            "accountKey": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName>"
            }
        },
        "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 zijn ingesteld op AzureBlobStorage (voorgesteld) of AzureStorage (zie de volgende opmerking). 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 AzureBlobStorage gekoppelde servicetype in de toekomst te gebruiken.

Voorbeeld:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "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": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "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

Zie Toegang tot Azure Storage verifiëren met behulp van Microsoft Entra-id voor algemene informatie over verificatie van de service-principal van Azure Storage.

Voer de volgende stappen uit om service-principalverificatie 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 service-principal de juiste machtiging in Azure Blob Storage. Zie Azure Portal gebruiken om een Azure-rol toe te wijzen voor toegang tot blob- en wachtrijgegevens voor meer informatie over de rollen.

    • Als bron verleent u in Toegangsbeheer (IAM) ten minste de rol Opslagblobgegevenslezer .
    • Als sink verleent u in Toegangsbeheer (IAM) ten minste de rol Inzender voor opslagblobgegevens.

Deze eigenschappen worden ondersteund voor een gekoppelde Azure Blob Storage-service:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op AzureBlobStorage. Ja
serviceEndpoint Geef het Azure Blob Storage-service-eindpunt op met het patroon .https://<accountName>.blob.core.windows.net/ Ja
accountKind Geef het type opslagaccount op. Toegestane waarden zijn: Opslag (algemeen gebruik v1), StorageV2 (algemeen gebruik v2), BlobStorage of BlockBlobStorage.

Wanneer u een gekoppelde Azure Blob-service in een gegevensstroom gebruikt, wordt verificatie van beheerde identiteit of service-principal niet ondersteund wanneer het accounttype leeg is of 'Opslag'. Geef het juiste accounttype op, kies een andere verificatie of werk uw opslagaccount bij naar algemeen gebruik v2.
Nee
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
tenant Geef de tenantgegevens (domeinnaam of tenant-id) op waaronder uw toepassing zich bevindt. Haal deze op door de muisaanwijzer boven 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 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 uw blobaccount voorlopig verwijderen inschakelt, wordt verificatie van de service-principal niet ondersteund in Gegevensstroom.
  • Als u de blobopslag opent via een privé-eindpunt met behulp van Gegevensstroom, moet u er rekening mee houden wanneer verificatie van de service-principal wordt gebruikt Gegevensstroom verbinding maakt met het ADLS Gen2-eindpunt in plaats van het Blob-eindpunt. Zorg ervoor dat u het bijbehorende privé-eindpunt in uw data factory of Synapse-werkruimte maakt om toegang in te schakelen.

Notitie

Verificatie van de service-principal wordt alleen ondersteund door de gekoppelde service van het type 'AzureBlobStorage', niet de vorige 'AzureStorage'-type gekoppelde service.

Voorbeeld:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "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-pijplijn kan worden gekoppeld aan een door het systeem toegewezen beheerde identiteit voor Azure-resources, die die resource vertegenwoordigt voor verificatie bij andere Azure-services. U kunt deze door het systeem toegewezen beheerde identiteit rechtstreeks gebruiken voor Blob Storage-verificatie. Dit is vergelijkbaar met het gebruik van uw eigen service-principal. Hiermee kan deze aangewezen resource gegevens openen en kopiëren van of naar Blob Storage. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten voor Azure-resources

Zie Toegang tot Azure Storage verifiëren met behulp van Microsoft Entra-id voor algemene informatie over Azure Storage-verificatie. Volg deze stappen om beheerde identiteiten te gebruiken voor Azure-resourceverificatie:

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

  2. Verdeel de beheerde identiteit in Azure Blob Storage. Zie Azure Portal gebruiken om een Azure-rol toe te wijzen voor toegang tot blob- en wachtrijgegevens voor meer informatie over de rollen.

    • Als bron verleent u in Toegangsbeheer (IAM) ten minste de rol Opslagblobgegevenslezer .
    • Als sink verleent u in Toegangsbeheer (IAM) ten minste de rol Inzender voor opslagblobgegevens.

Deze eigenschappen worden ondersteund voor een gekoppelde Azure Blob Storage-service:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op AzureBlobStorage. Ja
serviceEndpoint Geef het Azure Blob Storage-service-eindpunt op met het patroon .https://<accountName>.blob.core.windows.net/ Ja
accountKind Geef het type opslagaccount op. Toegestane waarden zijn: Opslag (algemeen gebruik v1), StorageV2 (algemeen gebruik v2), BlobStorage of BlockBlobStorage.

Wanneer u een gekoppelde Azure Blob-service in een gegevensstroom gebruikt, wordt verificatie van beheerde identiteit of service-principal niet ondersteund wanneer het accounttype leeg is of 'Opslag'. Geef het juiste accounttype op, kies een andere verificatie of werk uw opslagaccount bij naar algemeen gebruik v2.
Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of de zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als deze eigenschap niet is opgegeven, gebruikt de service de standaard Azure Integration Runtime. Nee

Voorbeeld:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2" 
        },
        "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 Blob Storage. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten voor Azure-resources

Zie Toegang tot Azure Storage verifiëren met behulp van Microsoft Entra-id voor algemene informatie over Azure-opslagverificatie. Volg deze stappen om door de gebruiker toegewezen beheerde identiteitverificatie te gebruiken:

  1. Maak een of meerdere door de gebruiker toegewezen beheerde identiteiten en verken machtigingen in Azure Blob Storage. Zie Azure Portal gebruiken om een Azure-rol toe te wijzen voor toegang tot blob- en wachtrijgegevens voor meer informatie over de rollen.

    • Als bron verleent u in Toegangsbeheer (IAM) ten minste de rol Opslagblobgegevenslezer .
    • Als sink verleent u in Toegangsbeheer (IAM) ten minste de rol Inzender voor opslagblobgegevens.
  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 een gekoppelde Azure Blob Storage-service:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op AzureBlobStorage. Ja
serviceEndpoint Geef het Azure Blob Storage-service-eindpunt op met het patroon .https://<accountName>.blob.core.windows.net/ Ja
accountKind Geef het type opslagaccount op. Toegestane waarden zijn: Opslag (algemeen gebruik v1), StorageV2 (algemeen gebruik v2), BlobStorage of BlockBlobStorage.

Wanneer u een gekoppelde Azure Blob-service in de gegevensstroom gebruikt, wordt verificatie van beheerde identiteit of service-principal niet ondersteund wanneer het account als leeg of 'Opslag' is bedoeld. Geef het juiste accounttype op, kies een andere verificatie of werk uw opslagaccount bij naar algemeen gebruik v2.
Nee
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 de zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als deze eigenschap niet is opgegeven, gebruikt de service de standaard Azure Integration Runtime. Nee

Voorbeeld:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Belangrijk

Als u de PolyBase- of COPY-instructie gebruikt om gegevens uit Blob Storage (als bron of als fasering) te laden in Azure Synapse Analytics, moet u bij het gebruik van verificatie van beheerde identiteiten voor Blob Storage 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.

Notitie

  • Als uw blobaccount voorlopig verwijderen inschakelt, wordt door het systeem toegewezen/door de gebruiker toegewezen beheerde identiteitverificatie niet ondersteund in Gegevensstroom.
  • Als u de blobopslag opent via een privé-eindpunt met behulp van Gegevensstroom, moet u er rekening mee houden wanneer door het systeem toegewezen/door de gebruiker toegewezen beheerde identiteitverificatie wordt gebruikt Gegevensstroom verbinding maakt met het ADLS Gen2-eindpunt in plaats van het Blob-eindpunt. Zorg ervoor dat u het bijbehorende privé-eindpunt in ADF maakt om toegang in te schakelen.

Notitie

Door het systeem toegewezen/door de gebruiker toegewezen beheerde identiteitverificatie wordt alleen ondersteund door de gekoppelde service 'AzureBlobStorage', niet de vorige 'AzureStorage'-type gekoppelde service.

Eigenschappen van gegevensset

Zie het artikel 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 Azure Blob Storage onder location instellingen in een op indeling gebaseerde gegevensset:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de locatie in de gegevensset moet worden ingesteld op AzureBlobStorageLocation. Ja
container De blobcontainer. Ja
folderPath Het pad naar de map onder de opgegeven container. Als u een jokerteken wilt gebruiken om de map te filteren, slaat u deze instelling over en geeft u dat op in de instellingen van de activiteitsbron. Nee
fileName De bestandsnaam onder het opgegeven container- en mappad. Als u jokertekens 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": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Eigenschappen van de kopieeractiviteit

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

Blob Storage als brontype

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

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

Eigenschappen Beschrijving Vereist
type De eigenschap type onder storeSettings moet worden ingesteld op AzureBlobStorageReadSettings. Ja
Zoek de bestanden die u wilt kopiëren:
OPTIE 1: statisch pad
Kopieer vanuit de opgegeven container of map/bestandspad dat is opgegeven in de gegevensset. Als u alle blobs uit een container of map wilt kopiëren, moet u ook opgeven wildcardFileName als *.
OPTIE 2: blobvoorvoegsel
-voorvoegsel
Voorvoegsel voor de blobnaam onder de opgegeven container die is geconfigureerd in een gegevensset om bron-blobs te filteren. Blobs waarvan de namen beginnen met container_in_dataset/this_prefix zijn geselecteerd. Het maakt gebruik van het filter aan de servicezijde voor Blob Storage, wat betere prestaties biedt dan een jokertekenfilter.

Wanneer u voorvoegsel gebruikt en ervoor kiest om te kopiëren naar een op bestanden gebaseerde sink met behoud van de hiërarchie, moet u zien dat het subpad na het laatste '/'-voorvoegsel behouden blijft. U hebt bijvoorbeeld bron container/folder/subfolder/file.txten configureer het voorvoegsel als folder/sub, dan is subfolder/file.txthet behouden bestandspad .
Nee
OPTIE 3: jokerteken
- jokertekenFolderPath
Het pad naar de map met jokertekens onder de opgegeven container die is geconfigureerd in een gegevensset om bronmappen te filteren.
Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken). Gebruik ^ deze optie om te escapen als uw mapnaam jokerteken of dit escape-teken bevat.
Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Nee
OPTIE 3: jokerteken
- wildcardFileName
De bestandsnaam met jokertekens onder het opgegeven container- en mappad (of pad naar een jokerteken) om bronbestanden te filteren.
Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken). Gebruik ^ deze optie om te escapen als uw bestandsnaam een jokerteken of dit escape-teken bevat. Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Ja
OPTIE 4: 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. Wanneer de kopieeractiviteit mislukt, ziet u daarom dat sommige bestanden al naar het doel zijn gekopieerd en uit de bron zijn verwijderd, terwijl andere nog steeds in het bronarchief staan.
Deze eigenschap is alleen geldig in het scenario voor het kopiëren van binaire bestanden. De standaardwaarde: false.
Nee
modifiedDatetimeStart Bestanden worden gefilterd op basis van het kenmerk: laatst gewijzigd.
De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op een UTC-tijdzone in de notatie 2018-12-01T05:00:00Z.
De eigenschappen kunnen NULL zijn, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd NULL is, worden de bestanden waarvan het kenmerk voor het laatst gewijzigd is groter dan of gelijk aan de datum/tijd-waarde geselecteerd. Wanneer modifiedDatetimeEnd een datum/tijd-waarde heeft maar modifiedDatetimeStart NULL is, worden de bestanden waarvan het kenmerk voor het laatst gewijzigd is kleiner dan de datum/tijd-waarde geselecteerd.
Deze eigenschap is niet van toepassing wanneer u configureert fileListPath.
Nee
modifiedDatetimeEnd Hetzelfde als de vorige eigenschap. 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
- 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.
- Wanneer u voorvoegsel gebruikt, is het hoofdpad van de partitie vóór het laatste '/'.

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 pad naar de partitiehoofdmap 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. Nr.

Notitie

Voor parquet-/gescheiden tekstindeling wordt het BlobSource-type voor de Copy-activiteit bron die in de volgende sectie wordt genoemd, nog steeds ondersteund, net als voor compatibiliteit met eerdere versies. U wordt aangeraden het nieuwe model te gebruiken totdat de ontwerpgebruikersinterface is overgeschakeld naar het genereren van deze nieuwe typen.

Voorbeeld:

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

Notitie

De $logs container, die automatisch wordt gemaakt wanneer Opslaganalyse is ingeschakeld voor een opslagaccount, wordt niet weergegeven wanneer een containervermeldingsbewerking wordt uitgevoerd via de gebruikersinterface. Het bestandspad moet rechtstreeks worden opgegeven voor uw data factory of Synapse-pijplijn om bestanden uit de $logs container te kunnen gebruiken.

Blob-opslag als sinktype

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

De volgende eigenschappen worden ondersteund voor Azure Blob Storage onder storeSettings instellingen in een op indeling gebaseerde kopiesink:

Eigenschappen Beschrijving Vereist
type De type eigenschap onder storeSettings moet worden ingesteld op AzureBlobStorageWriteSettings. 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 naam van het bestand of de blob is opgegeven, is de naam van het samengevoegde bestand de opgegeven naam. Anders is het een automatisch gegenereerde bestandsnaam.
Nee
blockSizeInMB Geef de blokgrootte in megabytes op die wordt gebruikt voor het schrijven van gegevens naar blok-blobs. Meer informatie over blok-blobs.
De toegestane waarde ligt tussen 4 MB en 100 MB.
Standaard bepaalt de service automatisch de blokgrootte op basis van het type bronarchief en de gegevens. Voor niet-binaire kopie in Blob Storage is de standaardblokgrootte 100 MB, zodat deze maximaal 4,95 TB aan gegevens kan bevatten. Het is mogelijk niet optimaal wanneer uw gegevens niet groot zijn, met name wanneer u de zelf-hostende Integration Runtime gebruikt met slechte netwerkverbindingen die leiden tot time-out van bewerkingen of prestatieproblemen. U kunt expliciet een blokgrootte opgeven, terwijl u ervoor zorgt dat deze blockSizeInMB*50000 groot genoeg is om de gegevens op te slaan. Anders mislukt de Copy-activiteit uitvoering.
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": "CopyFromBlob",
        "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": "AzureBlobStorageWriteSettings",
                    "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)
container/Folder* (leeg, standaard gebruiken) false container
    MapA
        File1.csv
        File2.json
        Submap1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
container/Folder* (leeg, standaard gebruiken) true container
    MapA
        File1.csv
        File2.json
        Submap1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
container/Folder* *.csv false container
    MapA
        File1.csv
        File2.json
        Submap1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
container/Folder* *.csv true container
    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 een bestandslijstpad in de Copy-activiteit bron.

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

Voorbeeldbronstructuur Inhoud in FileListToCopy.txt Configuratie
container
    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:
-Container: container
- Mappad: FolderA

In Copy-activiteit bron:
- Pad naar bestandslijst: container/Metadata/FileListToCopy.txt

Het bestandslijstpad verwijst naar een tekstbestand in hetzelfde gegevensarchief met een lijst met bestanden die u wilt kopiëren. Het bevat éé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 doelmap Map1 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 doelmap Map1 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 doelmap Map1 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 doelmap Map1 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 doelmap Map1 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 doelmap Map1 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 Storage of Azure Data Lake Storage Gen2 naar Azure Data Lake Storage Gen2 of Azure Blob Storage, kunt u ervoor kiezen om de metagegevens van bestanden samen met gegevens te behouden. Meer informatie over metagegevens behouden.

Eigenschappen van toewijzingsgegevensstroom

Wanneer u gegevens transformeert in toewijzingsgegevensstromen, kunt u bestanden uit Azure Blob Storage lezen en schrijven 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 Blob Storage. Gebruik het tabblad Bronopties om te beheren hoe de bestanden worden gelezen.

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

Jokertekenpaden: Met behulp van een jokertekenpatroon wordt de service 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 een 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 map genest.

  • ? Hiermee vervangt u één teken.

  • [] Komt overeen met een of meer tekens tussen de haken.

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

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

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

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

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

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 Partitiehoofdpad 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 de service 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, is uw syntaxis als volgt:

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

U kunt 'van' opgeven als:

/data/sales

En u kunt 'aan' opgeven als:

/backup/priorSales

In dit geval worden alle bestanden die zijn opgehaald, /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 de bestanden filteren die moeten worden verwerkt door een datumbereik op te geven van wanneer ze voor het laatst zijn gewijzigd. Alle datum/tijd-datums zijn in UTC.

Wijzigingsgegevens vastleggen inschakelen: indien 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.

Schermopname van Het vastleggen van wijzigingsgegevens inschakelen.

Sink-eigenschappen

In de sinktransformatie kunt u schrijven naar een container of een map in Azure Blob Storage. Gebruik het tabblad Instellingen om te beheren hoe de bestanden worden geschreven.

Sink-opties

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. Hiermee maakt loans1.csvu bijvoorbeeldloans[n].csv, loans2.csvenzovoort.
  • 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.

Alles aanhalingstekens: bepaalt of alle waarden tussen aanhalingstekens moeten worden geplaatst.

Eigenschappen van opzoekactiviteit

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

Eigenschappen van GetMetadata-activiteit

Raadpleeg de activiteit GetMetadata voor meer informatie over de eigenschappen.

Activiteitseigenschappen verwijderen

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

Verouderde modellen

Notitie

De volgende modellen worden nog steeds ondersteund, net als voor achterwaartse compatibiliteit. U wordt aangeraden het eerder genoemde nieuwe model te gebruiken. De ontwerpgebruikersinterface is overgeschakeld naar het genereren van het nieuwe model.

Verouderd gegevenssetmodel

Eigenschappen Beschrijving Vereist
type De type eigenschap van de gegevensset moet worden ingesteld op AzureBlob. Ja
folderPath Pad naar de container en map in Blob Storage.

Een jokertekenfilter wordt ondersteund voor het pad, met uitzondering van containernaam. Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken). Gebruik ^ deze optie om te escapen als uw mapnaam een jokerteken of dit escape-teken bevat.

Een voorbeeld is: myblobcontainer/myblobfolder/. Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Ja voor de activiteit Kopiëren of Opzoeken, Nee voor de GetMetadata-activiteit
fileName Naam of jokertekenfilter voor de blobs onder de opgegeven folderPath waarde. Als u geen waarde voor deze eigenschap opgeeft, wijst de gegevensset naar alle blobs in de map.

Voor het filter zijn 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 escapen als uw bestandsnaam een jokerteken of dit escape-teken bevat.

Wanneer fileName niet is opgegeven voor een uitvoergegevensset en preserveHierarchy niet is opgegeven in de activiteitssink, genereert de Copy-activiteit automatisch de naam van de blob 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 [table name].[format].[compression if configured]het naampatroon . Bijvoorbeeld: 'MyTable.csv'.
Nee
modifiedDatetimeStart Bestanden worden gefilterd op basis van het kenmerk: laatst gewijzigd. De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op de UTC-tijdzone in de notatie '2018-12-01T05:00:00Z'.

Houd er rekening mee dat het inschakelen van deze instelling van invloed is op de algehele prestaties van gegevensverplaatsing wanneer u grote hoeveelheden bestanden wilt filteren.

De eigenschappen kunnen zijn NULL, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd is NULL, worden de bestanden waarvan het kenmerk voor het laatst gewijzigd is groter dan of gelijk aan de datum/tijd-waarde geselecteerd. Wanneer modifiedDatetimeEnd een datum/tijd-waarde heeft, maar modifiedDatetimeStart dit is NULL, worden de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner dan de datum/tijd-waarde geselecteerd.
Nee
modifiedDatetimeEnd Bestanden worden gefilterd op basis van het kenmerk: laatst gewijzigd. De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op de UTC-tijdzone in de notatie '2018-12-01T05:00:00Z'.

Houd er rekening mee dat het inschakelen van deze instelling van invloed is op de algehele prestaties van gegevensverplaatsing wanneer u grote hoeveelheden bestanden wilt filteren.

De eigenschappen kunnen zijn NULL, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd is NULL, worden de bestanden waarvan het kenmerk voor het laatst gewijzigd is groter dan of gelijk aan de datum/tijd-waarde geselecteerd. Wanneer modifiedDatetimeEnd een datum/tijd-waarde heeft, maar modifiedDatetimeStart dit is NULL, worden de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner dan de datum/tijd-waarde 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 en ZipDeflate.
Ondersteunde niveaus zijn Optimaal en Snelste.
Nee

Tip

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

Voorbeeld:

{
    "name": "AzureBlobDataset",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "mycontainer/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"
            }
        }
    }
}

Verouderd bronmodel voor de Copy-activiteit

Eigenschappen Beschrijving Vereist
type De type eigenschap van de Copy-activiteit bron moet worden ingesteld op BlobSource. Ja
recursief Hiermee wordt aangegeven of de gegevens recursief worden gelezen uit de submappen of alleen uit de opgegeven map. Wanneer recursive deze is ingesteld true op en de sink een archief op basis van bestanden is, wordt er geen lege map of submap gekopieerd of gemaakt in de sink.
Toegestane waarden zijn true (standaard) en false.
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": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Blob input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Verouderd sinkmodel voor de Copy-activiteit

Eigenschappen Beschrijving Vereist
type De type eigenschap van de Copy-activiteit sink moet worden ingesteld op BlobSink. 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 naam van het bestand of de blob 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": "CopyToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Blob output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "BlobSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Gegevensregistratie wijzigen

Azure Data Factory kan alleen nieuwe of gewijzigde bestanden ophalen uit Azure Blob Storage door **Change Data Capture ** 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. Raadpleeg Change Data Capture voor meer informatie.

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