Partilhar via


Copiar dados de ou para um sistema de arquivos usando o Azure Data Factory ou o Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Este artigo descreve como copiar dados de e para o sistema de arquivos. Para saber mais, leia o artigo introdutório do Azure Data Factory ou do Azure Synapse Analytics.

Capacidades suportadas

Este conector do sistema de arquivos suporta as seguintes funcionalidades:

Capacidades suportadas IR
Atividade de cópia (origem/destino) (1) (2)
Atividade de Pesquisa (1) (2)
Atividade ObterMetadados (1) (2)
Excluir atividade (1) (2)

(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado

Especificamente, este conector do sistema de arquivos suporta:

  • Copiando arquivos de/para compartilhamento de arquivos de rede. Para usar um compartilhamento de arquivos Linux, instale o Samba em seu servidor Linux.
  • Copiar ficheiros usando autenticação Básica .
  • Copiar ficheiros no estado em que se encontram ou analisar/gerar ficheiros com os formatos de ficheiro suportados e codecs de compressão.

Pré-requisitos

Se o seu armazenamento de dados estiver localizado dentro de uma rede local, uma rede virtual do Azure ou numa Amazon Virtual Private Cloud, será necessário configurar uma integração runtime auto-hospedada para se conectar a ele.

Se o seu armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Tempo de Execução de Integração do Azure. Se o acesso for restrito a IPs aprovados nas regras de firewall, você poderá adicionar IPs do Azure Integration Runtime à lista de permissões.

Você também pode usar o recurso de tempo de execução de integração de rede virtual gerida no Azure Data Factory para aceder à rede no local sem instalar e configurar um tempo de execução de integração auto-hospedado.

Para obter mais informações sobre os mecanismos de segurança de rede e as opções suportadas pelo Data Factory, consulte Estratégias de acesso a dados.

Introdução

Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço vinculado ao sistema de arquivos usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado do sistema de arquivos na interface do usuário do portal do Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e, em seguida, selecione Novo:

  2. Procure o arquivo e selecione o conector do sistema de arquivos.

    Captura de ecrã do conector do sistema de ficheiros.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Captura de tela da configuração do serviço vinculado do Sistema de Arquivos.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades de pipeline do Data Factory e Synapse específicas do sistema de arquivos.

Propriedades do serviço vinculado

As seguintes propriedades são suportadas para o serviço associado ao sistema de arquivos:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: FileServer. Sim
alojar Especifica o caminho raiz da pasta que você deseja copiar. Use o caractere de escape "" para caracteres especiais na cadeia de caracteres. Consulte Exemplos de definições de serviço vinculado e conjunto de dados para obter exemplos. Sim
ID de Utilizador Especifique o ID do usuário que tem acesso ao servidor. Sim
palavra-passe Especifique a senha para o usuário (userId). Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. Sim
ConecteVia O Runtime de Integração a ser usado para se conectar ao repositório de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, ele usará o Tempo de Execução de Integração do Azure padrão. Não

Exemplos de definições de serviço vinculado e conjunto de dados

Cenário "host" na definição de serviço vinculado "folderPath" na definição do conjunto de dados
Pasta compartilhada remota:

Exemplos: \\myserver\share\* ou \\myserver\share\folder\subfolder\*
Em JSON: \\\\myserver\\share
Na interface do usuário: \\myserver\share
Em JSON: .\\ ou folder\\subfolder
Na interface do usuário: .\ ou folder\subfolder

Nota

Ao criar através da interface do utilizador, não precisas de inserir barra invertida dupla (\\) para escapar como fazes através de JSON; especifica apenas uma barra invertida única.

Nota

Não há suporte para copiar arquivos da máquina local no Tempo de Execução da Integração do Azure.
Consulte a linha de comando daqui para habilitar o acesso à máquina local em Self-hosted integration runtime. Por padrão, ele está desativado.

Exemplo:

{
    "name": "FileLinkedService",
    "properties": {
        "type": "FileServer",
        "typeProperties": {
            "host": "<host>",
            "userId": "<domain>\\<user>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo Conjuntos de dados.

O Azure Data Factory suporta os seguintes formatos de ficheiro. Consulte cada artigo para as configurações de formato.

As seguintes propriedades são suportadas para o sistema de arquivos em location configurações no conjunto de dados baseado em formato:

Propriedade Descrição Obrigatório
tipo A propriedade type em location no dataset deve ser definida como FileServerLocation. Sim
folderPath O caminho para a pasta. Se pretender usar caracteres universais para filtrar pastas, ignore esta configuração e especifique nas definições de origem da atividade. Você precisa configurar o local de compartilhamento de arquivos em seu ambiente Windows ou Linux para expor a pasta para compartilhamento. Não
nome do ficheiro O nome do ficheiro na pasta especificada em folderPath. Se pretender usar caracteres universais para filtrar ficheiros, ignore esta definição e especifique nas definições de origem da atividade. Não

Exemplo:

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

Propriedades da atividade Copy

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades suportadas pela origem e pelo destino do sistema de arquivos.

Sistema de arquivos como origem

O Azure Data Factory suporta os seguintes formatos de ficheiro. Consulte cada artigo para as configurações de formato.

As seguintes propriedades são suportadas para o sistema de arquivos nas configurações de storeSettings na fonte de cópia baseada em formato:

Propriedade Descrição Obrigatório
tipo A propriedade type under storeSettings deve ser definida como FileServerReadSettings. Sim
Localize os ficheiros a copiar:
OPÇÃO 1: caminho estático
Copie a partir do caminho da pasta/ficheiro especificado no conjunto de dados. Se você quiser copiar todos os arquivos de uma pasta, especifique wildcardFileName adicionalmente como *.
OPÇÃO 2: filtro do lado do servidor
- fileFilter
Filtro nativo do lado do servidor de ficheiros, que oferece melhor desempenho do que o filtro comodín opção 3. Use * para corresponder a zero ou mais caracteres e ? para corresponder a zero ou caractere único. Saiba mais sobre a sintaxe e as notas das Observações nesta seção. Não
OPÇÃO 3: filtro do lado do cliente
- CaminhoPassapassaWildcard
O caminho da pasta com caracteres curinga para filtrar as pastas de origem. Esse filtro acontece dentro do serviço, que enumera as pastas/arquivos sob o caminho fornecido e, em seguida, aplica o filtro curinga.
Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escapar se o nome da pasta real tiver curinga ou esse caractere de escape dentro.
Veja mais exemplos em Exemplos de filtros de pastas e ficheiros.
Não
OPÇÃO 3: filtro do lado do cliente
- Nome do Ficheiro Curinga
O nome do arquivo com caracteres curinga em determinado folderPath/wildcardFolderPath para filtrar arquivos de origem. Esse filtro acontece dentro do serviço, que enumera os arquivos sob o caminho fornecido e, em seguida, aplica o filtro curinga.
Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escapar se o nome do arquivo real tiver curinga ou esse caractere de escape dentro.
Veja mais exemplos em Exemplos de filtros de pastas e ficheiros.
Sim
OPÇÃO 3: uma lista de ficheiros
- fileListPath
Indica copiar um determinado conjunto de ficheiros. Aponte para um arquivo de texto que inclua uma lista de arquivos que você deseja copiar, um arquivo por linha, que é o caminho relativo para o caminho configurado no conjunto de dados.
Ao usar essa opção, não especifique o nome do arquivo no conjunto de dados. Veja mais exemplos em Exemplos de lista de arquivos.
Não
Configurações adicionais:
recursiva Indica se os dados são lidos recursivamente das subpastas ou somente da pasta especificada. Quando o recursivo é definido como verdadeiro e o destino é um armazenamento baseado em arquivo, uma pasta ou subpasta vazia não é copiada ou criada no destino.
Os valores permitidos são true (padrão) e false.
Esta propriedade não se aplica quando você configura fileListPatho .
Não
deleteFilesAfterCompletion Indica se os arquivos binários são excluídos do armazenamento de origem depois de serem movidos com êxito para o repositório de destino. A exclusão do arquivo é por arquivo. Isso significa que, quando a atividade falha, você vê alguns arquivos já copiados para o destino e excluídos da origem, enquanto outros ainda permanecem no armazenamento de origem.
Esta propriedade só é válida no cenário de cópia de arquivos binários. O valor padrão: false.
Não
modifiedDatetimeStart Filtro de arquivos com base no atributo: Última modificação.
Os arquivos são selecionados se o tempo da última modificação for maior ou igual a modifiedDatetimeStart e menor que modifiedDatetimeEnd. A hora é aplicada ao fuso horário UTC no formato AAAA-MM-DDTHH:mm:ssZ.
As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados. Quando modifiedDatetimeStart tem valor datetime, mas modifiedDatetimeEnd é NULL, significa que os arquivos cujo último atributo modificado é maior ou igual ao valor datetime são selecionados. Quando modifiedDatetimeEnd tem valor datetime, mas modifiedDatetimeStart é NULL, significa que os arquivos cujo último atributo modificado é menor que o valor datetime estão selecionados.
Esta propriedade não se aplica quando você configura fileListPatho .
Não
modifiedDatetimeEnd O mesmo que modifiedDateTimeStart. Não
enablePartitionDiscovery Para arquivos particionados, especifique se deseja analisar as partições do caminho do arquivo e adicioná-las como colunas de origem extras.
Os valores permitidos são false (padrão) e true.
Não
partitionRootPath Quando a descoberta de partições estiver habilitada, especifique o caminho raiz absoluto para ler pastas particionadas como colunas de dados.

Se não for especificado, por padrão,
- Quando você usa o caminho do arquivo no conjunto de dados ou na lista de arquivos na origem, o caminho da raiz da partição é o caminho configurado no conjunto de dados.
- Ao utilizar o filtro de diretório com caracteres universais, o caminho da raiz da partição é o subcaminho anterior ao primeiro uso de caracteres universais.

Por exemplo, supondo que você configure o caminho no conjunto de dados como "root/folder/year=2020/month=08/day=27":
- Se você especificar o caminho raiz da partição como "root/folder/year=2020", a atividade de cópia gerará mais duas colunas month e day com o valor "08" e "27", respectivamente, além das colunas dentro dos arquivos.
- Se o caminho raiz da partição não for especificado, nenhuma coluna extra será gerada.
Não
máximoDeConexõesConcorrentes O limite superior de conexões simultâneas estabelecidas para o armazenamento de dados durante a execução da atividade. Especifique um valor somente quando quiser limitar conexões simultâneas. Não

Exemplo:

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

Sistema de arquivos como destino

O Azure Data Factory suporta os seguintes formatos de ficheiro. Consulte cada artigo para as configurações de formato.

Nota

A opção MergeFilescopyBehavior só está disponível em pipelines do Azure Data Factory e não em pipelines do Synapse Analytics.

As seguintes propriedades são suportadas para o sistema de arquivos nas configurações storeSettings no destino de cópia baseado em formato:

Propriedade Descrição Obrigatório
tipo A propriedade type under storeSettings deve ser definida como FileServerWriteSettings. Sim
copyBehavior Define o comportamento de cópia quando a origem são arquivos de um armazenamento de dados baseado em arquivo.

Os valores permitidos são:
- PreserveHierarchy (padrão): Preserva a hierarquia de arquivos na pasta de destino. 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.
- FlattenHierarchy: Todos os arquivos da pasta de origem estão no primeiro nível da pasta de destino. Os arquivos de destino têm nomes gerados automaticamente.
- MergeFiles: Mescla todos os arquivos da pasta de origem para um arquivo. Se o nome do arquivo for especificado, o nome do arquivo mesclado será o nome especificado. Caso contrário, é um nome de arquivo gerado automaticamente.
Não
máximoDeConexõesConcorrentes O limite superior de conexões simultâneas estabelecidas para o armazenamento de dados durante a execução da atividade. Especifique um valor somente quando quiser limitar conexões simultâneas. Não

Exemplo:

"activities":[
    {
        "name": "CopyToFileSystem",
        "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": "FileServerWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Exemplos de filtros de pastas e ficheiros

Esta secção descreve o comportamento resultante do caminho da pasta e do nome do arquivo com filtros coringa.

folderPath nome do ficheiro recursiva Estrutura da pasta de origem e resultado do filtro (arquivos em negrito são recuperados)
Folder* (vazio, use padrão) false PastaA
     File1.csv
     File2.json
    Subpasta1
        File3.csv
        File4.json
        File5.csv
OutraPastaB
    File6.csv
Folder* (vazio, use padrão) verdadeiro PastaA
     File1.csv
     File2.json
    Subpasta1
         File3.csv
         File4.json
         File5.csv
OutraPastaB
    File6.csv
Folder* *.csv false PastaA
     File1.csv
    File2.json
    Subpasta1
        File3.csv
        File4.json
        File5.csv
OutraPastaB
    File6.csv
Folder* *.csv verdadeiro PastaA
     File1.csv
    File2.json
    Subpasta1
         File3.csv
        File4.json
         File5.csv
OutraPastaB
    File6.csv

Exemplos de lista de ficheiros

Esta seção descreve o comportamento resultante do uso do caminho da lista de arquivos na fonte de atividade de cópia.

Supondo que você tenha a seguinte estrutura de pastas de origem e queira copiar os arquivos em negrito:

Estrutura de origem da amostra Conteúdo em FileListToCopy.txt Configuração do pipeline
raiz
    PastaA
         File1.csv
        File2.json
        Subpasta1
             File3.csv
            File4.json
             File5.csv
    Metadados
        FileListToCopy.txt
File1.csv
Subpasta1/Ficheiro3.csv
Subpasta1/Ficheiro5.csv
No conjunto de dados:
- Caminho da pasta: root/FolderA

Na fonte da atividade de cópia:
- Caminho da lista de arquivos: root/Metadata/FileListToCopy.txt

O caminho da lista de arquivos aponta para um arquivo de texto no mesmo armazenamento de dados. Inclui uma lista de ficheiros que pretende copiar. Cada linha contém o caminho relativo para o arquivo com base no caminho raiz configurado no conjunto de dados.

exemplos recursivos e comportamento de cópia

Esta secção descreve o comportamento resultante da operação de cópia para diferentes combinações dos valores recursivos e copyBehavior.

recursiva copyBehavior Estrutura da pasta de origem Alvo resultante
verdadeiro preserveHierarchy Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5
A pasta de destino Folder1 é criada com a mesma estrutura da origem:

Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5.
verdadeiro achatar a hierarquia Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5
A Folder1 de destino é criada com a seguinte estrutura:

Pasta1
    nome gerado automaticamente para File1
    nome gerado automaticamente para File2
    nome gerado automaticamente para File3
    nome gerado automaticamente para File4
    nome gerado automaticamente para File5
verdadeiro mesclarArquivos Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5
A Folder1 de destino é criada com a seguinte estrutura:

Pasta1
    Os conteúdos de File1 + File2 + File3 + File4 + File5 são fundidos num único ficheiro com um nome gerado automaticamente.
false preserveHierarchy Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5
A pasta de destino Folder1 é criada com a seguinte estrutura:

Pasta1
    Ficheiro 1
    Ficheiro2

Subfolder1 com File3, File4 e File5 não são coletadas.
false achatar a hierarquia Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5
A pasta de destino Folder1 é criada com a seguinte estrutura:

Pasta1
    nome gerado automaticamente para File1
    nome gerado automaticamente para File2

Subfolder1 com File3, File4 e File5 não são coletados.
false mesclarArquivos Pasta1
    Ficheiro 1
    Ficheiro2
    Subpasta1
        Ficheiro3
        Ficheiro4
        Ficheiro5
A pasta de destino Folder1 é criada com a seguinte estrutura:

Pasta1
    O conteúdo de File1 + File2 é mesclado em um arquivo com nome de arquivo gerado automaticamente. nome gerado automaticamente para File1

Subfolder1 com File3, File4 e File5 não são coletadas.

Propriedades da atividade de consulta

Para obter detalhes sobre as propriedades, verifique atividade de consulta.

Propriedades da atividade GetMetadata

Para saber detalhes sobre as propriedades, verifique a atividade GetMetadata.

Excluir propriedades de atividade

Para saber detalhes sobre as propriedades, marque Excluir atividade.

Modelos antigos

Nota

Os modelos a seguir ainda são suportados no estado em que se encontram para compatibilidade com versões anteriores. Sugere-se que você use o novo modelo mencionado nas seções acima daqui para frente, e a interface do usuário de criação mudou para gerar o novo modelo.

Modelo de conjunto de dados herdado

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como: FileShare Sim
folderPath Caminho para a pasta. O filtro curinga é suportado. Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escapar se o nome da pasta real tiver curinga ou esse caractere de escape dentro.

Exemplos: rootfolder/subfolder/, veja mais exemplos em Exemplos de definições de serviço vinculado e conjunto de dados e Exemplos de filtro de pasta e arquivo.
Não
nome do ficheiro Nome ou filtro de carácter curinga para os ficheiros debaixo do especificado "folderPath". Se você não especificar um valor para essa propriedade, o conjunto de dados apontará para todos os arquivos na pasta.

Para filtro, os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou um único caractere).
- Exemplo 1: "fileName": "*.csv"
- Exemplo 2: "fileName": "???20180427.txt"
Use ^ para escapar se o nome do arquivo real tiver curinga ou esse caracter de escape dentro.

Quando fileName não é especificado para um conjunto de dados de saída e preserveHierarchy não é especificado no coletor de atividade, a atividade de cópia gera automaticamente o nome do arquivo com o seguinte padrão: "Data.[ GUID do ID de execução da atividade]. [GUID se FlattenHierarchy]. [formato, se configurado]. [compactação se configurado]", por exemplo "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; se você copiar da fonte tabular usando o nome da tabela em vez da consulta, o padrão de nome será "[nome da tabela].[ formato]. [compressão se configurado]", por exemplo "MyTable.csv".
Não
modifiedDatetimeStart Filtro de arquivos com base no atributo: Última modificação. Os arquivos são selecionados se o tempo da última modificação for maior ou igual a modifiedDatetimeStart e menor que modifiedDatetimeEnd. A hora é aplicada ao fuso horário UTC no formato AAAA-MM-DDTHH:mm:ssZ.

Esteja ciente de que o desempenho geral da movimentação de dados é afetado ao habilitar essa configuração quando você deseja fazer o filtro de arquivos de grandes quantidades de arquivos.

As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados. Quando modifiedDatetimeStart tem valor datetime, mas modifiedDatetimeEnd é NULL, significa que os arquivos cujo último atributo modificado é maior ou igual ao valor datetime são selecionados. Quando modifiedDatetimeEnd tem valor datetime, mas modifiedDatetimeStart é NULL, significa que os arquivos cujo último atributo modificado é menor que o valor datetime estão selecionados.
Não
modifiedDatetimeEnd Filtro de arquivos com base no atributo: Última modificação. Os arquivos são selecionados se o tempo da última modificação for maior ou igual a modifiedDatetimeStart e menor que modifiedDatetimeEnd. A hora é aplicada ao fuso horário UTC no formato "2018-12-01T05:00:00Z".

Esteja ciente de que o desempenho geral da movimentação de dados é afetado ao habilitar essa configuração quando você deseja fazer o filtro de arquivos de grandes quantidades de arquivos.

As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados. Quando modifiedDatetimeStart tem valor datetime, mas modifiedDatetimeEnd é NULL, significa que os arquivos cujo último atributo modificado é maior ou igual ao valor datetime são selecionados. Quando modifiedDatetimeEnd tem valor datetime, mas modifiedDatetimeStart é NULL, significa que os arquivos cujo último atributo modificado é menor que o valor datetime estão selecionados.
Não
formato Se você quiser copiar arquivos como estão entre armazenamentos baseados em arquivo (cópia binária), ignore a seção de formato nas definições de conjunto de dados de entrada e saída.

Se você quiser analisar ou gerar arquivos com um formato específico, os seguintes tipos de formato de arquivo são suportados: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Defina a propriedade type sob format para um destes valores. Para obter mais informações, consulte as seções Formato de texto, Formato JSON, Formato Avro, Formato Orc e Formato parquet .
Não (apenas para o cenário de cópia binária)
compressão Especifique o tipo e o nível de compactação dos dados. Para obter mais informações, consulte Formatos de arquivo e codecs de compactação suportados.
Os tipos suportados são: GZip, Deflate, BZip2 e ZipDeflate.
Os níveis suportados são: Ótimo e Mais Rápido.
Não

Gorjeta

Para copiar todos os arquivos em uma pasta, especifique somente folderPath .
Para copiar um único arquivo com um determinado nome, especifique folderPath com parte da pasta e fileName com nome de arquivo.
Para copiar um subconjunto de arquivos em uma pasta, especifique folderPath com parte da pasta e fileName com filtro curinga.

Nota

Se você estava usando a propriedade "fileFilter" para o filtro de arquivos, ela ainda é suportada no estado em que se encontra, enquanto você é sugerido para usar o novo recurso de filtro adicionado a "fileName" no futuro.

Exemplo:

{
    "name": "FileSystemDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<file system linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "folder/subfolder/",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Modelo de origem da atividade de cópia herdada

Propriedade Descrição Obrigatório
tipo A propriedade type da fonte de atividade de cópia deve ser definida como: FileSystemSource Sim
recursiva Indica se os dados são lidos recursivamente das subpastas ou somente da pasta especificada. Observe que, quando recursivo é configurado como verdadeiro e o destino é um armazenamento baseado em arquivos, uma pasta/subpasta vazia não é copiada/criada no destino.
Os valores permitidos são: true (padrão), false
Não
máximoDeConexõesConcorrentes O limite superior de conexões simultâneas estabelecidas para o armazenamento de dados durante a execução da atividade. Especifique um valor somente quando quiser limitar conexões simultâneas. Não

Exemplo:

"activities":[
    {
        "name": "CopyFromFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<file system input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Modelo de coletor de atividade de cópia herdado

Propriedade Descrição Obrigatório
tipo A propriedade tipo do destino da atividade de cópia deve ser definida como: FileSystemSink Sim
copyBehavior Define o comportamento de cópia quando a origem são arquivos do armazenamento de dados baseado em arquivo.

Os valores permitidos são:
- PreserveHierarchy (padrão): preserva a hierarquia de arquivos na pasta de destino. 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.
- FlattenHierarchy: todos os arquivos da pasta de origem estão no primeiro nível da pasta de destino. Os nomes dos arquivos de destino são gerados automaticamente.
- MergeFiles: mescla todos os arquivos da pasta de origem para um arquivo. Nenhuma desduplicação de registro é executada durante a mesclagem. Se o Nome do arquivo for especificado, o nome do arquivo mesclado será o nome especificado; caso contrário, seria o nome do arquivo gerado automaticamente.
Não
máximoDeConexõesConcorrentes O limite superior de conexões simultâneas estabelecidas para o armazenamento de dados durante a execução da atividade. Especifique um valor somente quando quiser limitar conexões simultâneas. Não

Exemplo:

"activities":[
    {
        "name": "CopyToFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<file system output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "FileSystemSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Para obter uma lista de armazenamentos de dados suportados como fontes e destinos pela atividade de cópia, consulte armazenamentos de dados suportados.