Copiar dados no/do Azure Data Lake Storage Gen1 usando o Azure Data FactoryCopy data to or from Azure Data Lake Storage Gen1 using Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve como copiar dados de e para o Azure Data Lake Storage Gen1.This article outlines how to copy data to and from Azure Data Lake Storage Gen1. Para saber mais sobre o Azure Data Factory, leia as artigo introdutório.To learn about Azure Data Factory, read the introductory article.

Funcionalidades com suporteSupported capabilities

Este conector do Azure Data Lake Storage Gen1 é compatível com as seguintes atividades:This Azure Data Lake Storage Gen1 connector is supported for the following activities:

Especificamente, com esse conector, você pode:Specifically, with this connector you can:

Importante

Se você copiar dados usando o runtime de integração auto-hospedada, configure o firewall corporativo para permitir o tráfego de saída para <ADLS account name>.azuredatalakestore.net e login.microsoftonline.com/<tenant>/oauth2/token na porta 443.If you copy data by using the self-hosted integration runtime, configure the corporate firewall to allow outbound traffic to <ADLS account name>.azuredatalakestore.net and login.microsoftonline.com/<tenant>/oauth2/token on port 443. O último é o Serviço de Token de Segurança do Azure com que o runtime de integração precisa se comunicar para obter o token de acesso.The latter is the Azure Security Token Service that the integration runtime needs to communicate with to get the access token.

IntroduçãoGet started

Dica

Para obter um passo a passo de como usar o conector do Azure Data Lake Storage, veja Carregar dados no Azure Data Lake Storage.For a walk-through of how to use the Azure Data Lake Store connector, see Load data into Azure Data Lake Store.

Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:To perform the Copy activity with a pipeline, you can use one of the following tools or SDKs:

As seções a seguir fornecem informações sobre propriedades que são usadas para definir entidades do Data Factory específicas do Azure Data Lake Storage.The following sections provide information about properties that are used to define Data Factory entities specific to Azure Data Lake Store.

Propriedades do serviço vinculadoLinked service properties

As propriedades a seguir têm suporte no serviço vinculado do Azure Data Lake Store:The following properties are supported for the Azure Data Lake Store linked service:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type deve ser definida como: AzureDataLakeStore.The type property must be set to AzureDataLakeStore. SimYes
dataLakeStoreUridataLakeStoreUri Informações sobre a conta do Azure Data Lake Store.Information about the Azure Data Lake Store account. Essas informações usam um dos seguintes formatos: https://[accountname].azuredatalakestore.net/webhdfs/v1 ou adl://[accountname].azuredatalakestore.net/.This information takes one of the following formats: https://[accountname].azuredatalakestore.net/webhdfs/v1 or adl://[accountname].azuredatalakestore.net/. SimYes
subscriptionIdsubscriptionId A ID de assinatura do Azure à qual a conta do Data Lake Store pertence.The Azure subscription ID to which the Data Lake Store account belongs. Obrigatório para coletorRequired for sink
resourceGroupNameresourceGroupName O nome do grupo de recursos do Azure ao qual a conta do Data Lake Store pertence.The Azure resource group name to which the Data Lake Store account belongs. Obrigatório para coletorRequired for sink
connectViaconnectVia O runtime de integração a ser usado para se conectar ao armazenamento de dados.The integration runtime to be used to connect to the data store. Você poderá usar o runtime de integração do Azure ou um runtime de integração auto-hospedada se o seu armazenamento de dados estiver localizado em uma rede privada.You can use the Azure integration runtime or a self-hosted integration runtime if your data store is located in a private network. Se essa propriedade não for especificada, o runtime de integração do Azure padrão será usado.If this property isn't specified, the default Azure integration runtime is used. NãoNo

Usar a autenticação de entidade de serviçoUse service principal authentication

Para usar a autenticação de entidade de serviço, siga estas etapas.To use service principal authentication, follow these steps.

  1. Registre uma entidade de aplicativo no Azure Active Directory e conceda a ela o acesso ao Data Lake Storage.Register an application entity in Azure Active Directory and grant it access to Data Lake Store. Para encontrar as etapas detalhadas, consulte Autenticação de serviço a serviço.For detailed steps, see Service-to-service authentication. Anote os seguintes valores, que são usados para definir o serviço vinculado:Make note of the following values, which you use to define the linked service:

    • ID do aplicativoApplication ID
    • Chave do aplicativoApplication key
    • ID do locatárioTenant ID
  2. Conceda a permissão adequada da entidade de serviço.Grant the service principal proper permission. Veja exemplos de como a permissão funciona no Data Lake Storage Gen1 em Controle de acesso no Azure Data Lake Storage Gen1.See examples on how permission works in Data Lake Storage Gen1 from Access control in Azure Data Lake Storage Gen1.

    • Como origem: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Leitura para os arquivos que serão copiados.As source: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Read permission for the files to copy. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Não há requisito de controle de acesso no nível da conta (IAM).There's no requirement on account-level access control (IAM).
    • Como coletor: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Gravação para a pasta coletora.As sink: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Write permission for the sink folder. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry.

Há suporte para as seguintes propriedades:The following properties are supported:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
servicePrincipalIdservicePrincipalId Especifique a ID do cliente do aplicativo.Specify the application's client ID. SimYes
servicePrincipalKeyservicePrincipalKey Especifique a chave do aplicativo.Specify the application's key. Marque este campo como uma SecureString para armazená-la com segurança no Data Factory ou faça referência a um segredo armazenado no Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. SimYes
locatáriotenant Especifique as informações de locatário, como nome de domínio ou ID do locatário, em que o aplicativo reside.Specify the tenant information, such as domain name or tenant ID, under which your application resides. É possível recuperá-las focalizando o mouse no canto superior direito do Portal do Azure.You can retrieve it by hovering the mouse in the upper-right corner of the Azure portal. SimYes
azureCloudTypeazureCloudType Para autenticação de entidade de serviço, especifique o tipo de ambiente de nuvem do Azure no qual seu aplicativo Azure Active Directory está registrado.For service principal authentication, specify the type of Azure cloud environment to which your Azure Active Directory application is registered.
Os valores permitidos são AzurePublic, AzureChina, AzureUsGovernment e AzureGermany.Allowed values are AzurePublic, AzureChina, AzureUsGovernment, and AzureGermany. Por padrão, o ambiente de nuvem do data factory é usado.By default, the data factory's cloud environment is used.
NãoNo

Exemplo:Example:

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

Usar identidades gerenciadas para autenticação de recursos do AzureUse managed identities for Azure resources authentication

Um data factory pode ser associado a uma identidade gerenciada para recursos do Azure, que representa esse data factory específico.A data factory can be associated with a managed identity for Azure resources, which represents this specific data factory. Você pode usar essa identidade gerenciada diretamente para a autenticação do Data Lake Storage da mesma maneira que no uso de sua própria entidade de serviço.You can directly use this managed identity for Data Lake Store authentication, similar to using your own service principal. Ele permite que este alocador designado acesse e copie dados de ou para o seu Data Lake Store.It allows this designated factory to access and copy data to or from Data Lake Store.

Para usar identidades gerenciadas para autenticação de recursos do Azure, siga estas etapas.To use managed identities for Azure resources authentication, follow these steps.

  1. Recuperar a identidade gerenciada do data factory copiando o valor de "ID do Aplicativo de Identidade do Serviço" gerado junto com seu alocador.Retrieve the data factory managed identity information by copying the value of the "Service Identity Application ID" generated along with your factory.

  2. Conceda à identidade gerenciada acesso ao Data Lake Storage.Grant the managed identity access to Data Lake Store. Veja exemplos de como a permissão funciona no Data Lake Storage Gen1 em Controle de acesso no Azure Data Lake Storage Gen1.See examples on how permission works in Data Lake Storage Gen1 from Access control in Azure Data Lake Storage Gen1.

    • Como origem: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Leitura para os arquivos que serão copiados.As source: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Read permission for the files to copy. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Não há requisito de controle de acesso no nível da conta (IAM).There's no requirement on account-level access control (IAM).
    • Como coletor: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Gravação para a pasta coletora.As sink: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Write permission for the sink folder. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry.

No Azure Data Factory, você não precisa especificar nenhuma propriedade além das informações do Data Lake Store gerais no serviço vinculado.In Azure Data Factory, you don't need to specify any properties besides the general Data Lake Store information in the linked service.

Exemplo:Example:

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

Propriedades do conjunto de dadosDataset properties

Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre Conjuntos de Dados.For a full list of sections and properties available for defining datasets, see the Datasets article.

O Azure Data Factory é compatível com os formatos de arquivo a seguir.Azure Data Factory supports the following file formats. Confira cada artigo para obter configurações baseadas em formato.Refer to each article for format-based settings.

As seguintes propriedades são compatíveis com o Azure Data Lake Storage Gen1 em configurações de location no conjunto de dados baseado em formato:The following properties are supported for Azure Data Lake Store Gen1 under location settings in the format-based dataset:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type em location no conjunto de dados deve ser definida como AzureDataLakeStoreLocation.The type property under location in the dataset must be set to AzureDataLakeStoreLocation. SimYes
folderPathfolderPath O caminho para uma pasta.The path to a folder. Se você quiser usar um caractere curinga para filtrar a pasta, ignore essa configuração e especifique-o nas configurações de origem da atividade.If you want to use a wildcard to filter folders, skip this setting and specify it in activity source settings. NãoNo
fileNamefileName O nome do arquivo sob o folderPath fornecido.The file name under the given folderPath. Se você quiser usar um caractere curinga para filtrar os arquivos, ignore essa configuração e especifique-o nas configurações de origem da atividade.If you want to use a wildcard to filter files, skip this setting and specify it in activity source settings. NãoNo

Exemplo:Example:

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

Propriedades da atividade de cópiaCopy activity properties

Para obter uma lista completa das seções e propriedades disponíveis para definir as atividades, veja Pipelines.For a full list of sections and properties available for defining activities, see Pipelines. Esta seção fornece uma lista das propriedades com suporte pela origem e pelo coletor do Azure Data Lake Store.This section provides a list of properties supported by Azure Data Lake Store source and sink.

Azure Data Lake Store como fonteAzure Data Lake Store as source

O Azure Data Factory é compatível com os formatos de arquivo a seguir.Azure Data Factory supports the following file formats. Confira cada artigo para obter configurações baseadas em formato.Refer to each article for format-based settings.

As seguintes propriedades são compatíveis com o Azure Data Lake Storage Gen1 em configurações de storeSettings na fonte de dados baseada em formato:The following properties are supported for Azure Data Lake Store Gen1 under storeSettings settings in the format-based copy source:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type em storeSettings deve ser configurada com AzureDataLakeStoreReadSettings.The type property under storeSettings must be set to AzureDataLakeStoreReadSettings. SimYes
*Localize os arquivos a serem copiados: _*Locate the files to copy: _
OPÇÃO 1: caminho estáticoOPTION 1: static path
Copiar do caminho de pasta/arquivo especificado no conjunto de dados.Copy from the given folder/file path specified in the dataset. Se quiser copiar todos os arquivos de uma pasta, especifique também wildcardFileName como _.If you want to copy all files from a folder, additionally specify wildcardFileName as _.
OPÇÃO 2: intervalo de nomesOPTION 2: name range
- listAfter- listAfter
Recupere as pastas/arquivos cujo nome é após esse valor em ordem alfabética (exclusivo).Retrieve the folders/files whose name is after this value alphabetically (exclusive). Ele utiliza o filtro do lado do serviço para ADLS Gen1, que fornece melhor desempenho do que um filtro curinga.It utilizes the service-side filter for ADLS Gen1, which provides better performance than a wildcard filter.
O data Factory aplica esse filtro ao caminho definido no conjunto de dados e há suporte para apenas um nível de entidade.Data factory applies this filter to the path defined in dataset, and only one entity level is supported. Veja mais exemplos em exemplos de filtro de intervalo de nomes.See more examples in Name range filter examples.
NãoNo
OPÇÃO 2: intervalo de nomesOPTION 2: name range
- listBefore- listBefore
Recupere as pastas/arquivos cujo nome é antes desse valor em ordem alfabética (inclusivo).Retrieve the folders/files whose name is before this value alphabetically (inclusive). Ele utiliza o filtro do lado do serviço para ADLS Gen1, que fornece melhor desempenho do que um filtro curinga.It utilizes the service-side filter for ADLS Gen1, which provides better performance than a wildcard filter.
O data Factory aplica esse filtro ao caminho definido no conjunto de dados e há suporte para apenas um nível de entidade.Data factory applies this filter to the path defined in dataset, and only one entity level is supported. Veja mais exemplos em exemplos de filtro de intervalo de nomes.See more examples in Name range filter examples.
NãoNo
OPÇÃO 3: curingaOPTION 3: wildcard
- wildcardFolderPath- wildcardFolderPath
O caminho da pasta com caracteres curinga para filtrar as pastas de origem.The folder path with wildcard characters to filter source folders.
Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escape se o nome de pasta atual tiver curinga ou esse caractere interno de escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has wildcard or this escape char inside.
Veja mais exemplos em Exemplos de filtro de pastas e arquivos.See more examples in Folder and file filter examples.
NãoNo
OPÇÃO 3: curingaOPTION 3: wildcard
- wildcardFileName- wildcardFileName
O nome do arquivo com caracteres curinga sob o folderPath/wildcardFolderPath fornecido para filtrar os arquivos de origem.The file name with wildcard characters under the given folderPath/wildcardFolderPath to filter source files.
Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escape se o nome de arquivo real tiver curinga ou esse caractere interno de escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual file name has wildcard or this escape char inside. Veja mais exemplos em Exemplos de filtro de pastas e arquivos.See more examples in Folder and file filter examples.
SimYes
OPÇÃO 4: uma lista de arquivosOPTION 4: a list of files
- fileListPath- fileListPath
Indica a cópia de um determinado conjunto de arquivos.Indicates to copy a given file set. Aponte para um arquivo de texto que inclui uma lista de arquivos que você deseja copiar, um arquivo por linha, que é o caminho relativo para o caminho configurado no conjunto de um.Point to a text file that includes a list of files you want to copy, one file per line, which is the relative path to the path configured in the dataset.
Ao usar essa opção, não especifique o nome do arquivo no conjunto de dados.When using this option, do not specify file name in dataset. Veja mais exemplos em Exemplos de lista de arquivos.See more examples in File list examples.
NãoNo
*Configurações adicionais: _*Additional settings: _
recursivarecursive Indica se os dados são lidos recursivamente das subpastas ou somente da pasta especificada.Indicates whether the data is read recursively from the subfolders or only from the specified folder. Observe que quando recursiva é definida como true e o coletor é um armazenamento baseado em arquivo, uma pasta vazia ou subpasta não é copiada ou criada no coletor.Note that when recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink.
Os valores permitidos são _ true* (padrão) e false.Allowed values are _ true* (default) and false.
Essa propriedade não se aplica quando você configura fileListPath.This property doesn't apply when you configure fileListPath.
NãoNo
deleteFilesAfterCompletiondeleteFilesAfterCompletion Indica se os arquivos binários serão excluídos do repositório de origem após a movimentação com êxito para o repositório de destino.Indicates whether the binary files will be deleted from source store after successfully moving to the destination store. A exclusão do arquivo é por arquivo, portanto, quando a atividade de cópia falhar, você verá que alguns arquivos já foram copiados para o destino e excluídos da origem, enquanto outros ainda permanecem no repositório de origem.The file deletion is per file, so when copy activity fails, you will see some files have already been copied to the destination and deleted from source, while others are still remaining on source store.
Esta propriedade só é válida no cenário de cópia de arquivos binários.This property is only valid in binary files copy scenario. O valor padrão: false.The default value: false.
NãoNo
modifiedDatetimeStartmodifiedDatetimeStart Filtro de arquivos com base no atributo: Última Modificação.Files filter based on the attribute: Last Modified.
Os arquivos serão escolhidos se a hora da última alteração estiver dentro do período entre modifiedDatetimeStart e modifiedDatetimeEnd.The files will be selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. A hora é aplicada ao fuso horário de UTC no formato "2018-12-01T05:00:00Z".The time is applied to UTC time zone in the format of "2018-12-01T05:00:00Z".
As propriedades podem ser nulas, o que significa que nenhum filtro de atributo de arquivo será aplicado ao conjunto de um.The properties can be NULL, which means no file attribute filter will be applied to the dataset. Quando modifiedDatetimeStart tem o valor de data e hora, mas modifiedDatetimeEnd for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é maior ou igual ao valor de data e hora.When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. Quando modifiedDatetimeEnd tem o valor de data e hora, mas modifiedDatetimeStart for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é menor que o valor de data e hora.When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be selected.
Essa propriedade não se aplica quando você configura fileListPath.This property doesn't apply when you configure fileListPath.
NãoNo
modifiedDatetimeEndmodifiedDatetimeEnd Mesmo que acima.Same as above. NãoNo
enablePartitionDiscoveryenablePartitionDiscovery Para arquivos que são particionados, especifique se deseja analisar as partições do caminho do arquivo e adicioná-las como colunas de origem adicionais.For files that are partitioned, specify whether to parse the partitions from the file path and add them as additional source columns.
Os valores permitidos são false (padrão) e true.Allowed values are false (default) and true.
NãoNo
partitionRootPathpartitionRootPath Quando a descoberta de partição estiver habilitada, especifique o caminho raiz absoluto para ler as pastas particionadas como colunas de dados.When partition discovery is enabled, specify the absolute root path in order to read partitioned folders as data columns.

Se não for especificado, por padrão,If it is not specified, by default,
-Quando você usa o caminho do arquivo no conjunto de programas ou na lista de arquivos na origem, o caminho raiz da partição é o caminho configurado no conjunto de um.- When you use file path in dataset or list of files on source, partition root path is the path configured in dataset.
-Quando você usa o filtro de pasta curinga, o caminho raiz da partição é o subcaminho antes do primeiro caractere curinga.- When you use wildcard folder filter, partition root path is the sub-path before the first wildcard.

Por exemplo, supondo que você configure o caminho no conjunto de um como "raiz/pasta/ano = 2020/mês = 08/dia = 27":For example, assuming you configure the path in dataset as "root/folder/year=2020/month=08/day=27":
-Se você especificar o caminho raiz da partição como "raiz/pasta/ano = 2020", a atividade de cópia irá gerar mais duas colunas month e day com o valor "08" e "27", respectivamente, além das colunas dentro dos arquivos.- If you specify partition root path as "root/folder/year=2020", copy activity will generate two more columns month and day with value "08" and "27" respectively, in addition to the columns inside the files.
-Se o caminho raiz da partição não for especificado, nenhuma coluna extra será gerada.- If partition root path is not specified, no extra column will be generated.
NãoNo
maxConcurrentConnectionsmaxConcurrentConnections O número das conexões para se conectar ao repositório de armazenamento simultaneamente.The number of connections to connect to storage store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. NãoNo

Exemplo:Example:

"activities":[
    {
        "name": "CopyFromADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "AzureDataLakeStoreReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Data Lake Store como coletorAzure Data Lake Store as sink

O Azure Data Factory é compatível com os formatos de arquivo a seguir.Azure Data Factory supports the following file formats. Confira cada artigo para obter configurações baseadas em formato.Refer to each article for format-based settings.

As seguintes propriedades são compatíveis com o Azure Data Lake Storage Gen1 em configurações de storeSettings no coletor de dados baseado em formato:The following properties are supported for Azure Data Lake Store Gen1 under storeSettings settings in the format-based copy sink:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type em storeSettings deve ser configurada com AzureDataLakeStoreWriteSettings.The type property under storeSettings must be set to AzureDataLakeStoreWriteSettings. SimYes
copyBehaviorcopyBehavior Define o comportamento de cópia quando a fonte for de arquivos de um armazenamento de dados baseado em arquivo.Defines the copy behavior when the source is files from a file-based data store.

Valores permitidos são:Allowed values are:
– PreserveHierarchy (padrão): Preserva a hierarquia de arquivos na pasta de destino.- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. O caminho relativo do arquivo de origem para a pasta de origem é idêntico ao caminho relativo do arquivo de destino para a pasta de destino.The relative path of the source file to the source folder is identical to the relative path of the target file to the target folder.
– FlattenHierarchy: Todos os arquivos da pasta de origem estão no primeiro nível da pasta de destino.- FlattenHierarchy: All files from the source folder are in the first level of the target folder. Os arquivos de destino têm os nomes gerados automaticamente.The target files have autogenerated names.
– MergeFiles: Mescla todos os arquivos da pasta de origem em um arquivo.- MergeFiles: Merges all files from the source folder to one file. Se o nome do arquivo for especificado, o nome do arquivo mesclado será o nome especificado.If the file name is specified, the merged file name is the specified name. Caso contrário, ele será um nome de arquivo gerado automaticamente.Otherwise, it's an autogenerated file name.
NãoNo
expiryDateTimeexpiryDateTime Especifica a hora de expiração dos arquivos gravados.Specifies the expiry time of the written files. A hora é aplicada ao fuso horário de UTC no formato "2020-03-01T08:00:00Z".The time is applied to the UTC time in the format of "2020-03-01T08:00:00Z". Por padrão, ela é NULL, o que significa que os arquivos gravados nunca expiram.By default it is NULL, which means the written files are never expired. NãoNo
maxConcurrentConnectionsmaxConcurrentConnections O número das conexões para se conectar ao armazenamento de dados simultaneamente.The number of connections to connect to the data store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. NãoNo

Exemplo:Example:

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

Exemplos de filtro de intervalo de nomesName range filter examples

Esta seção descreve o comportamento resultante de filtros de intervalo de nome.This section describes the resulting behavior of name range filters.

Exemplo de estrutura de origemSample source structure Configuração ADFADF configuration ResultResult
rootroot
    um    a
        file.csv        file.csv
    AX    ax
        file2.csv        file2.csv
    ax.csv    ax.csv
    b    b
        file3.csv        file3.csv
    bx.csv    bx.csv
    &    c
        file4.csv        file4.csv
    cx.csv    cx.csv
No conjunto de dados:In dataset:
- Caminho da pasta: root- Folder path: root

Na origem da atividade de cópia:In copy activity source:
-Listar após: a- List after: a
-Listar antes de: b- List before: b
Em seguida, os seguintes arquivos serão copiados:Then the following files will be copied:

rootroot
    AX    ax
        file2.csv        file2.csv
    ax.csv    ax.csv
    b    b
        file3.csv        file3.csv

Exemplos de filtro de pasta e arquivoFolder and file filter examples

Esta seção descreve o comportamento resultante do caminho da pasta e do nome de arquivo com filtros curinga.This section describes the resulting behavior of the folder path and file name with wildcard filters.

folderPathfolderPath fileNamefileName recursivarecursive Estrutura da pasta de origem e resultado do filtro (os arquivos em negrito são recuperados)Source folder structure and filter result (files in bold are retrieved)
Folder* (Vazio, usar padrão)(Empty, use default) falsefalse FolderAFolderA
    Arquivo1.csv    File1.csv
    Arquivo2.json    File2.json
    Subpasta1    Subfolder1
        Arquivo3.csv        File3.csv
        Arquivo4.json        File4.json
        Arquivo5.csv        File5.csv
OutraPastaBAnotherFolderB
    Arquivo6.csv    File6.csv
Folder* (Vazio, usar padrão)(Empty, use default) truetrue FolderAFolderA
    Arquivo1.csv    File1.csv
    Arquivo2.json    File2.json
    Subpasta1    Subfolder1
        Arquivo3.csv        File3.csv
        Arquivo4.json        File4.json
        Arquivo5.csv        File5.csv
OutraPastaBAnotherFolderB
    Arquivo6.csv    File6.csv
Folder* *.csv falsefalse FolderAFolderA
    Arquivo1.csv    File1.csv
    Arquivo2.json    File2.json
    Subpasta1    Subfolder1
        Arquivo3.csv        File3.csv
        Arquivo4.json        File4.json
        Arquivo5.csv        File5.csv
OutraPastaBAnotherFolderB
    Arquivo6.csv    File6.csv
Folder* *.csv truetrue FolderAFolderA
    Arquivo1.csv    File1.csv
    Arquivo2.json    File2.json
    Subpasta1    Subfolder1
        Arquivo3.csv        File3.csv
        Arquivo4.json        File4.json
        Arquivo5.csv        File5.csv
OutraPastaBAnotherFolderB
    Arquivo6.csv    File6.csv

Exemplos de lista de arquivosFile list examples

Esta seção descreve o comportamento resultante do uso do caminho da lista de arquivos na origem da atividade de cópia.This section describes the resulting behavior of using file list path in copy activity source.

Supondo que você tenha a seguinte estrutura de pasta de origem e queira copiar os arquivos em negrito:Assuming you have the following source folder structure and want to copy the files in bold:

Exemplo de estrutura de origemSample source structure Conteúdo em FileListToCopy.txtContent in FileListToCopy.txt Configuração ADFADF configuration
rootroot
    FolderA    FolderA
        Arquivo1.csv        File1.csv
        Arquivo2.json        File2.json
        Subpasta1        Subfolder1
            Arquivo3.csv            File3.csv
            Arquivo4.json            File4.json
            Arquivo5.csv            File5.csv
    Metadados    Metadata
        FileListToCopy.txt        FileListToCopy.txt
File1.csvFile1.csv
Subfolder1/File3.csvSubfolder1/File3.csv
Subfolder1/File5.csvSubfolder1/File5.csv
No conjunto de dados:In dataset:
- Caminho da pasta: root/FolderA- Folder path: root/FolderA

Na origem da atividade de cópia:In copy activity source:
- Caminho da lista de arquivos: root/Metadata/FileListToCopy.txt- File list path: root/Metadata/FileListToCopy.txt

O caminho da lista de arquivos aponta para um arquivo de texto no mesmo armazenamento de dados que inclui a lista de arquivos que você deseja copiar, um arquivo por linha, com o caminho relativo do caminho configurado no conjunto de dados.The file list path points to a text file in the same data store that includes a list of files you want to copy, one file per line with the relative path to the path configured in the dataset.

Exemplos de comportamento da operação de cópiaExamples of behavior of the copy operation

Esta seção descreve o comportamento resultante da operação de Cópia para diferentes combinações de valores recursive e copyBehavior.This section describes the resulting behavior of the copy operation for different combinations of recursive and copyBehavior values.

recursivarecursive copyBehaviorcopyBehavior Estrutura de pasta de origemSource folder structure Destino resultanteResulting target
truetrue preserveHierarchypreserveHierarchy Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5        File5
A Pasta1 de destino é criada com a mesma estrutura da origem:The target Folder1 is created with the same structure as the source:

Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5.        File5.
truetrue flattenHierarchyflattenHierarchy Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5        File5
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure:

Pasta1Folder1
    nome gerado automaticamente para o Arquivo1    autogenerated name for File1
    nome gerado automaticamente para o Arquivo2    autogenerated name for File2
    nome gerado automaticamente para o Arquivo3    autogenerated name for File3
    nome gerado automaticamente para o Arquivo4    autogenerated name for File4
    nome gerado automaticamente para o Arquivo5    autogenerated name for File5
truetrue mergeFilesmergeFiles Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5        File5
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure:

Pasta1Folder1
    Os conteúdos de Arquivo1 + Arquivo2 + Arquivo3 + Arquivo4 + Arquivo5 são mesclados em um arquivo com um nome de arquivo gerado automaticamente.    File1 + File2 + File3 + File4 + File5 contents are merged into one file, with an autogenerated file name.
falsefalse preserveHierarchypreserveHierarchy Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5        File5
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure:

Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2

Subpasta1 com Arquivo3, Arquivo4 e Arquivo5 não selecionada.Subfolder1 with File3, File4, and File5 aren't picked up.
falsefalse flattenHierarchyflattenHierarchy Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5        File5
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure:

Pasta1Folder1
    nome gerado automaticamente para o Arquivo1    autogenerated name for File1
    nome gerado automaticamente para o Arquivo2    autogenerated name for File2

Subpasta1 com Arquivo3, Arquivo4 e Arquivo5 não selecionada.Subfolder1 with File3, File4, and File5 aren't picked up.
falsefalse mergeFilesmergeFiles Pasta1Folder1
    Arquivo1    File1
    Arquivo2    File2
    Subpasta1    Subfolder1
        Arquivo3        File3
        Arquivo4        File4
        Arquivo5        File5
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure:

Pasta1Folder1
    Os conteúdos de Arquivo1 + Arquivo2 são mesclados em um arquivo com um nome de arquivo gerado automaticamente.    File1 + File2 contents are merged into one file with autogenerated file name. nome gerado automaticamente para o Arquivo1autogenerated name for File1

Subpasta1 com Arquivo3, Arquivo4 e Arquivo5 não selecionada.Subfolder1 with File3, File4, and File5 aren't picked up.

Preservar ACLs do Data Lake Storage Gen2Preserve ACLs to Data Lake Storage Gen2

Dica

Para copiar dados do Azure Data Lake Storage Gen1 no Gen2 em geral, confira Copiar dados de Azure Data Lake Storage Gen1 no Gen2 com o Azure Data Factory para obter instruções detalhadas e melhores práticas.To copy data from Azure Data Lake Storage Gen1 into Gen2 in general, see Copy data from Azure Data Lake Storage Gen1 to Gen2 with Azure Data Factory for a walk-through and best practices.

Se você quiser replicar as ACLs (listas de controle de acesso) junto com os arquivos de dados ao atualizar do Data Lake Storage Gen1 para o Data Lake Storage Gen2, consulte Preservar ACLs do Data Lake Storage Gen1.If you want to replicate the access control lists (ACLs) along with data files when you upgrade from Data Lake Storage Gen1 to Data Lake Storage Gen2, see Preserve ACLs from Data Lake Storage Gen1.

Propriedades do fluxo de dados de mapeamentoMapping data flow properties

Quando estiver transformando dados no mapeamento de fluxos de dados, você pode ler e gravar arquivos de Azure Data Lake Storage Gen1 nos seguintes formatos:When you're transforming data in mapping data flows, you can read and write files from Azure Data Lake Storage Gen1 in the following formats:

As configurações específicas de formato estão localizadas na documentação para esse formato.Format-specific settings are located in the documentation for that format. Para obter mais informações, consulte transformação de origem no mapeamento de fluxo de dados e transformação de coletor no fluxo de dados de mapeamento.For more information, see Source transformation in mapping data flow and Sink transformation in mapping data flow.

Transformação de origemSource transformation

Na transformação origem, você pode ler um contêiner, uma pasta ou um arquivo individual em Azure Data Lake Storage Gen1.In the source transformation, you can read from a container, folder, or individual file in Azure Data Lake Storage Gen1. A guia Opções de origem permite que você gerencie como os arquivos são lidos.The Source options tab lets you manage how the files get read.

Opções de origemSource options

Caminho curinga: O uso de um padrão curinga instruirá o ADF a executar um loop em cada pasta e arquivo correspondentes em uma única transformação de origem.Wildcard path: Using a wildcard pattern will instruct ADF to loop through each matching folder and file in a single Source transformation. Esse é um modo eficaz de processar vários arquivos dentro de um único fluxo.This is an effective way to process multiple files within a single flow. Adicione vários padrões de correspondência de curingas com o sinal de + que aparece ao passar o mouse sobre o padrão de curinga existente.Add multiple wildcard matching patterns with the + sign that appears when hovering over your existing wildcard pattern.

Em seu contêiner de origem, escolha uma série de arquivos que correspondem a um padrão.From your source container, choose a series of files that match a pattern. Somente o contêiner pode ser especificado no conjunto de dados.Only container can be specified in the dataset. O caminho curinga, portanto, também precisa incluir o caminho da pasta raiz.Your wildcard path must therefore also include your folder path from the root folder.

Exemplos de caracteres curinga:Wildcard examples:

  • * Representa qualquer conjunto de caracteres* Represents any set of characters

  • ** Representa o aninhamento de diretório recursivo** Represents recursive directory nesting

  • ? Substitui um caractere? Replaces one character

  • [] Corresponde a um ou mais caracteres entre colchetes[] Matches one of more characters in the brackets

  • /data/sales/**/*.csv Obtém todos os arquivos CSV em /data/sales/data/sales/**/*.csv Gets all csv files under /data/sales

  • /data/sales/20??/**/ Obtém todos os arquivos no século 20/data/sales/20??/**/ Gets all files in the 20th century

  • /data/sales/*/*/*.csv Obtém arquivos CSV dois níveis em /data/sales/data/sales/*/*/*.csv Gets csv files two levels under /data/sales

  • /data/sales/2004/*/12/[XY]1?.csv Obtém todos os arquivos CSV de dezembro de 2004 que começam com X ou Y prefixado por um número de dois dígitos/data/sales/2004/*/12/[XY]1?.csv Gets all csv files in 2004 in December starting with X or Y prefixed by a two-digit number

Caminho raiz da partição: se você tiver pastas particionadas em sua fonte de arquivo com um formato key=value (por exemplo, year=2019), poderá atribuir o nível superior da árvore de pastas dessa partição a um nome de coluna no fluxo de dados.Partition Root Path: If you have partitioned folders in your file source with a key=value format (for example, year=2019), then you can assign the top level of that partition folder tree to a column name in your data flow data stream.

Primeiro, defina um curinga para incluir todos os caminhos que são as pastas particionadas mais os arquivos folha que você deseja ler.First, set a wildcard to include all paths that are the partitioned folders plus the leaf files that you wish to read.

Configurações do arquivo de origem da partiçãoPartition source file settings

Use a configuração do caminho raiz da partição para definir qual é o nível superior da estrutura de pastas.Use the Partition Root Path setting to define what the top level of the folder structure is. Ao exibir o conteúdo de seus dados por meio de uma visualização de dados, você verá que o ADF adicionará as partições resolvidas encontradas em cada um dos níveis de pasta.When you view the contents of your data via a data preview, you'll see that ADF will add the resolved partitions found in each of your folder levels.

Caminho raiz da partiçãoPartition root path

Lista de arquivos: é um conjunto de arquivos.List of files: This is a file set. Crie um arquivo de texto que inclui uma lista de arquivos do caminho relativo a serem processados.Create a text file that includes a list of relative path files to process. Aponte para este arquivo de texto.Point to this text file.

Coluna para armazenar o nome do arquivo: armazene o nome do arquivo de origem em uma coluna em seus dados.Column to store file name: Store the name of the source file in a column in your data. Insira um novo nome de coluna para armazenar a cadeia de caracteres de nome de arquivo.Enter a new column name here to store the file name string.

Após a conclusão: Opte por não fazer nada com o arquivo de origem após a execução de fluxo de dados, excluir o arquivo de origem ou mover o arquivo de origem.After completion: Choose to do nothing with the source file after the data flow runs, delete the source file, or move the source file. Os caminhos para movimentação são relativos.The paths for the move are relative.

Para mover os arquivos de origem para outro local após o processamento, primeiro selecione "Mover" para a operação de arquivo.To move source files to another location post-processing, first select "Move" for file operation. Em seguida, defina o diretório "de".Then, set the "from" directory. Se você não estiver usando curingas para o caminho, a configuração "de" será a mesma pasta que a de origem.If you're not using any wildcards for your path, then the "from" setting will be the same folder as your source folder.

Se você tiver um caminho de origem com curinga, sua sintaxe terá a seguinte aparência:If you have a source path with wildcard, your syntax will look like this below:

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

Você pode especificar "de" comoYou can specify "from" as

/data/sales

E "para" comoAnd "to" as

/backup/priorSales

Nesse caso, todos os arquivos que foram originados em /data/sales são movidos para /backup/priorSales.In this case, all files that were sourced under /data/sales are moved to /backup/priorSales.

Observação

As operações do arquivo são executadas somente quando você inicia o fluxo de dados de uma execução de pipeline (depuração de pipeline ou realização da execução) que usa a atividade Executar Fluxo de Dados em um pipeline.File operations run only when you start the data flow from a pipeline run (a pipeline debug or execution run) that uses the Execute Data Flow activity in a pipeline. As operações de arquivo não são executadas no modo de depuração do Fluxo de Dados.File operations do not run in Data Flow debug mode.

Filtrar por última modificação: você pode filtrar quais arquivos são processados especificando um intervalo de datas de quando eles foram modificados pela última vez.Filter by last modified: You can filter which files you process by specifying a date range of when they were last modified. Todos os datetimes estão em UTC.All date-times are in UTC.

Propriedades do coletorSink properties

Na transformação do coletor, você pode gravar em um contêiner ou pasta no Azure Data Lake Storage Gen1.In the sink transformation, you can write to either a container or folder in Azure Data Lake Storage Gen1. A guia Configurações permite que você gerencie como os arquivos são gravados.the Settings tab lets you manage how the files get written.

opções de coletorsink options

Limpe a pasta: determina se a pasta de destino é limpa ou não antes de os dados serem gravados.Clear the folder: Determines whether or not the destination folder gets cleared before the data is written.

Opção do nome do arquivo: determina como os arquivos de destino são nomeados na pasta de destino.File name option: Determines how the destination files are named in the destination folder. As opções de nome de arquivo são:The file name options are:

  • Padrão: permitir que o Spark nomeie arquivos com base nos padrões de PART.Default: Allow Spark to name files based on PART defaults.
  • Padrão: insira um padrão que enumere os arquivos de saída por partição.Pattern: Enter a pattern that enumerates your output files per partition. Por exemplo, loans[n].csv criará loans1.csv, loans2.csv e assim por diante.For example, loans[n].csv will create loans1.csv, loans2.csv, and so on.
  • Por partição: insira um nome de arquivo por partição.Per partition: Enter one file name per partition.
  • Como dados na coluna: defina o arquivo de saída para o valor de uma coluna.As data in column: Set the output file to the value of a column. O caminho é relativo ao contêiner de conjunto de dados, não à pasta de destino.The path is relative to the dataset container, not the destination folder. Se você tiver um caminho de pasta em seu conjunto de dados, ele será substituído.If you have a folder path in your dataset, it will be overridden.
  • Saída para um único arquivo: combine os arquivos de saída particionados em um único arquivo nomeado.Output to a single file: Combine the partitioned output files into a single named file. O caminho é relativo à pasta do conjunto de dados.The path is relative to the dataset folder. Lembre-se de que a operação de mesclagem pode falhar com base no tamanho do nó.Please be aware that te merge operation can possibly fail based upon node size. Essa opção não é recomendada para conjuntos de dados grandes.This option is not recommended for large datasets.

Citar tudo: determina se todos os valores devem ser delimitados por aspasQuote all: Determines whether to enclose all values in quotes

Pesquisar propriedades de atividadesLookup activity properties

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.To learn details about the properties, check Lookup activity.

Propriedades de atividade GetMetadataGetMetadata activity properties

Para saber detalhes sobre as propriedades, verifique Atividade GetMetadataTo learn details about the properties, check GetMetadata activity

Excluir propriedades da atividadeDelete activity properties

Para saber mais detalhes sobre as propriedades, marque Excluir atividadeTo learn details about the properties, check Delete activity

Modelos herdadosLegacy models

Observação

Os modelos a seguir ainda têm suporte no estado em que se encontram, para compatibilidade com versões anteriores.The following models are still supported as-is for backward compatibility. É recomendável usar o novo modelo mencionado nas seções acima no futuro, e a interface do usuário de criação do ADF mudou para gerar o novo modelo.You are suggested to use the new model mentioned in above sections going forward, and the ADF authoring UI has switched to generating the new model.

Modelo de conjunto de dados herdadoLegacy dataset model

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type do conjunto de dados deve ser definida como AzureDataLakeStoreFile.The type property of the dataset must be set to AzureDataLakeStoreFile. SimYes
folderPathfolderPath Caminho para a pasta no Data Lake Store.Path to the folder in Data Lake Store. Se não especificado, apontará para a raiz.If not specified, it points to the root.

O filtro curinga tem suporte.Wildcard filter is supported. Os curingas permitidos são * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único).Allowed wildcards are * (matches zero or more characters) and ? (matches zero or single character). Use ^ como escape se o nome real da pasta tiver curingas ou esse caractere de escape.Use ^ to escape if your actual folder name has a wildcard or this escape char inside.

Por exemplo: rootfolder/subfolder/.For example: rootfolder/subfolder/. Veja mais exemplos em Exemplos de filtro de pastas e arquivos.See more examples in Folder and file filter examples.
NãoNo
fileNamefileName Filtro de nome ou curinga para os arquivos em "folderPath" especificado.Name or wildcard filter for the files under the specified "folderPath". Se você não especificar um valor para essa propriedade, o conjunto de dados apontará para todos os arquivos na pasta.If you don't specify a value for this property, the dataset points to all files in the folder.

Para filtro, os curingas permitidos são * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único).For filter, the wildcards allowed are * (matches zero or more characters) and ? (matches zero or single character).
– Exemplo 1: "fileName": "*.csv"- Example 1: "fileName": "*.csv"
– Exemplo 2: "fileName": "???20180427.txt"- Example 2: "fileName": "???20180427.txt"
Use ^ como escape se seu nome de arquivo real tiver um curinga ou esse caractere de escape.Use ^ to escape if your actual file name has a wildcard or this escape char inside.

Quando fileName não for especificado para um conjunto de dados de saída e preserveHierarchy não for especificada no coletor de atividade, a atividade de cópia gerará automaticamente o nome do arquivo com o seguinte padrão: "Data.[GUID da ID de execução da atividade].[GUID se FlattenHierarchy].[formato se configurado].[compactação se configurada] ", por exemplo: "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz".When fileName isn't specified for an output dataset and preserveHierarchy isn't specified in the activity sink, the copy activity automatically generates the file name with the following pattern: "Data.[activity run ID GUID].[GUID if FlattenHierarchy].[format if configured].[compression if configured]", for example, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". Se você copiar da fonte tabular usando o nome da tabela em vez da consulta, o nome padrão será " [nome da tabela].[formato].[compactação se configurada] ", por exemplo, "MyTable.csv".If you copy from a tabular source by using a table name instead of a query, the name pattern is "[table name].[format].[compression if configured]", for example, "MyTable.csv".
NãoNo
modifiedDatetimeStartmodifiedDatetimeStart Filtro de arquivos com base no atributo Última Modificação.Files filter based on the attribute Last Modified. Os arquivos são selecionados se a hora da última modificação está dentro do intervalo de tempo entre modifiedDatetimeStart e modifiedDatetimeEnd.The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. A hora é aplicada ao fuso horário de UTC no formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z".

O desempenho geral da movimentação de dados será afetado ao habilitar essa configuração quando você desejar filtrar grandes quantidades de arquivos.The overall performance of data movement is affected by enabling this setting when you want to do file filter with huge amounts of files.

As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados.The properties can be NULL, which means no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart tiver o valor de datetime, mas modifiedDatetimeEnd for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é maior ou igual ao valor de datetime.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd tiver o valor de datetime, mas modifiedDatetimeStart for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é menor que o valor de datetime.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value are selected.
NãoNo
modifiedDatetimeEndmodifiedDatetimeEnd Filtro de arquivos com base no atributo Última Modificação.Files filter based on the attribute Last Modified. Os arquivos são selecionados se a hora da última modificação está dentro do intervalo de tempo entre modifiedDatetimeStart e modifiedDatetimeEnd.The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. A hora é aplicada ao fuso horário de UTC no formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z".

O desempenho geral da movimentação de dados será afetado ao habilitar essa configuração quando você desejar filtrar grandes quantidades de arquivos.The overall performance of data movement is affected by enabling this setting when you want to do file filter with huge amounts of files.

As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados.The properties can be NULL, which means no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart tiver o valor de datetime, mas modifiedDatetimeEnd for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é maior ou igual ao valor de datetime.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd tiver o valor de datetime, mas modifiedDatetimeStart for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é menor que o valor de datetime.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value are selected.
NãoNo
formatformat Se você quiser copiar arquivos no estado em que se encontram entre repositórios baseados em arquivo (cópia binária), ignore a seção de formato nas definições de conjunto de dados de entrada e de saída.If you want to copy files as is between file-based stores (binary copy), skip the format section in both input and output dataset definitions.

Se você quer analisar ou gerar arquivos com um formato específico, os seguintes tipos de formato de arquivo são compatíveis: TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat.If you want to parse or generate files with a specific format, the following file format types are supported: TextFormat, JsonFormat, AvroFormat, OrcFormat, and ParquetFormat. Defina a propriedade type sob format para um desses valores.Set the type property under format to one of these values. Para saber mais, veja as seções Formato de texto, Formato JSON, Formato Avro, Formato Orc e Formato Parquet.For more information, see the Text format, JSON format, Avro format, Orc format, and Parquet format sections.
Não (somente para o cenário de cópia binária)No (only for binary copy scenario)
compactaçãocompression Especifique o tipo e o nível de compactação para os dados.Specify the type and level of compression for the data. Para obter mais informações, consulte Formatos de arquivo e codecs de compactação com suporte.For more information, see Supported file formats and compression codecs.
Os tipos com suporte são: GZip, Deflate, BZip2 e ZipDeflate.Supported types are GZip, Deflate, BZip2, and ZipDeflate.
Os níveis de suporte são Ideal e Mais rápido.Supported levels are Optimal and Fastest.
NãoNo

Dica

Para copiar todos os arquivos em uma pasta, especifique folderPath somente.To copy all files under a folder, specify folderPath only.
Para copiar um único arquivo com um nome em particular, especifique folderPath com uma parte da pasta e fileName com um nome de arquivo.To copy a single file with a particular name, specify folderPath with a folder part and fileName with a file name.
Para copiar um subconjunto de arquivos em uma pasta, especifique folderPath com uma parte da pasta e fileName com um filtro curinga.To copy a subset of files under a folder, specify folderPath with a folder part and fileName with a wildcard filter.

Exemplo:Example:

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

Modelo de origem de atividade de cópia herdadoLegacy copy activity source model

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type da fonte da atividade de cópia deve ser definida como AzureDataLakeStoreSource.The type property of the copy activity source must be set to AzureDataLakeStoreSource. SimYes
recursivarecursive Indica se os dados são lidos recursivamente das subpastas ou somente da pasta especificada.Indicates whether the data is read recursively from the subfolders or only from the specified folder. Quando recursive é definido como true e o coletor é um repositório baseado em arquivo, uma pasta vazia ou subpasta não é copiada ou criada no coletor.When recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink. Os valores permitidos são true (padrão) e false.Allowed values are true (default) and false. NãoNo
maxConcurrentConnectionsmaxConcurrentConnections O número das conexões para se conectar ao armazenamento de dados simultaneamente.The number of connections to connect to the data store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. NãoNo

Exemplo:Example:

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

Modelo do coletor de atividade de cópia herdadoLegacy copy activity sink model

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type do coletor da atividade de cópia deve ser definida como AzureDataLakeStoreSink.The type property of the copy activity sink must be set to AzureDataLakeStoreSink. SimYes
copyBehaviorcopyBehavior Define o comportamento de cópia quando a fonte for de arquivos de um armazenamento de dados baseado em arquivo.Defines the copy behavior when the source is files from a file-based data store.

Valores permitidos são:Allowed values are:
– PreserveHierarchy (padrão): Preserva a hierarquia de arquivos na pasta de destino.- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. O caminho relativo do arquivo de origem para a pasta de origem é idêntico ao caminho relativo do arquivo de destino para a pasta de destino.The relative path of the source file to the source folder is identical to the relative path of the target file to the target folder.
– FlattenHierarchy: Todos os arquivos da pasta de origem estão no primeiro nível da pasta de destino.- FlattenHierarchy: All files from the source folder are in the first level of the target folder. Os arquivos de destino têm os nomes gerados automaticamente.The target files have autogenerated names.
– MergeFiles: Mescla todos os arquivos da pasta de origem em um arquivo.- MergeFiles: Merges all files from the source folder to one file. Se o nome do arquivo for especificado, o nome do arquivo mesclado será o nome especificado.If the file name is specified, the merged file name is the specified name. Caso contrário, o nome do arquivo será gerado automaticamente.Otherwise, the file name is autogenerated.
NãoNo
maxConcurrentConnectionsmaxConcurrentConnections O número das conexões para se conectar ao armazenamento de dados simultaneamente.The number of connections to connect to the data store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. NãoNo

Exemplo:Example:

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

Próximas etapasNext steps

Para obter uma lista de armazenamentos de dados com suporte como origens e coletores pela atividade de cópia no Azure Data Factory, consulte Armazenamentos de dados com suporte.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.