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 é suportado para os seguintes recursos:
Capacidades suportadas | IR |
---|---|
Atividade de cópia (origem/coletor) | (1) (2) |
Atividade de Pesquisa | (1) (2) |
Atividade GetMetadata | (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.
- Copiando arquivos usando a autenticação do Windows .
- 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 seu armazenamento de dados estiver localizado dentro de uma rede local, uma rede virtual do Azure ou a Amazon Virtual Private Cloud, você precisará configurar um tempo de execução de integração auto-hospedado 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 gerenciada no Azure Data Factory para acessar a rede 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 Copiar com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:
- A ferramenta Copiar dados
- O portal do Azure
- O SDK do .NET
- O SDK do Python
- Azure PowerShell
- A API REST
- O modelo do Azure Resource Manager
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.
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:
Procure o arquivo e selecione o conector do sistema de arquivos.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
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 vinculado do sistema de arquivos:
Property | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type deve ser definida como: FileServer. | Sim |
host | 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 |
password | 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 tempo de execução de integração a ser usado para se conectar ao armazenamento 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 via interface do usuário, você não precisa inserir barra invertida dupla (\\
) para escapar como faz via JSON, especifique 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 obter as configurações baseadas em formato.
- Formato Avro
- Formato binário
- Formato de texto delimitado
- Formato Excel
- Formato JSON
- Formato ORC
- Formato Parquet
- Formato XML
As seguintes propriedades são suportadas para o sistema de arquivos em location
configurações no conjunto de dados baseado em formato:
Property | 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 você quiser usar curinga para filtrar pasta, ignore essa configuração e especifique nas configurações da fonte de atividade. Você precisa configurar o local de compartilhamento de arquivos em seu ambiente Windows ou Linux para expor a pasta para compartilhamento. | Não |
fileName | O nome do arquivo em determinado folderPath. Se você quiser usar curinga para filtrar arquivos, ignore essa configuração e especifique as configurações da fonte de 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 coletor do sistema de arquivos.
Sistema de arquivos como origem
O Azure Data Factory suporta os seguintes formatos de ficheiro. Consulte cada artigo para obter as configurações baseadas em formato.
- Formato Avro
- Formato binário
- Formato de texto delimitado
- Formato Excel
- Formato JSON
- Formato ORC
- Formato Parquet
- Formato XML
As seguintes propriedades são suportadas para o sistema de arquivos em storeSettings
configurações na fonte de cópia baseada em formato:
Property | 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 do caminho da pasta/arquivo 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 arquivos, que oferece melhor desempenho do que o filtro curinga 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 - wildcardFolderPath |
O caminho da pasta com caracteres curinga para filtrar 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 - wildcardFileName |
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 para copiar um determinado conjunto de arquivos. 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 recursivo é definido como true e o coletor é um armazenamento baseado em arquivo, uma pasta ou subpasta vazia não é copiada ou criada no coletor. Os valores permitidos são true (padrão) e false. Esta propriedade não se aplica quando você configura fileListPath o . |
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 fileListPath o . |
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. - Quando você usa o filtro de pasta curinga, o caminho da raiz da partição é o subcaminho antes do primeiro curinga. 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 |
maxConcurrentConnections | 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 coletor
O Azure Data Factory suporta os seguintes formatos de ficheiro. Consulte cada artigo para obter as configurações baseadas em formato.
Nota
A opção copyBehavior de MergeFiles 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 em storeSettings
configurações no coletor de cópia baseado em formato:
Property | 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 |
maxConcurrentConnections | 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 seção descreve o comportamento resultante do caminho da pasta e do nome do arquivo com filtros curinga.
folderPath | fileName | 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/File3.csv Subpasta1/File5.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 copyBehavior
Esta seção descreve o comportamento resultante da operação Copy para diferentes combinações de valores recursivo e copyBehavior.
recursiva | copyBehavior | Estrutura da pasta de origem | Alvo resultante |
---|---|---|---|
verdadeiro | preserveHierarchy | Pasta1 Ficheiro1 Ficheiro2 Subpasta1 Ficheiro3 Ficheiro4 Ficheiro5 |
A pasta de destino Folder1 é criada com a mesma estrutura da origem: Pasta1 Ficheiro1 Ficheiro2 Subpasta1 Ficheiro3 Ficheiro4 Ficheiro5. |
verdadeiro | achatarHierarquia | Pasta1 Ficheiro1 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 Ficheiro1 Ficheiro2 Subpasta1 Ficheiro3 Ficheiro4 Ficheiro5 |
A Folder1 de destino é criada com a seguinte estrutura: Pasta1 File1 + File2 + File3 + File4 + File 5 conteúdo são mesclados em um arquivo com nome de arquivo gerado automaticamente |
false | preserveHierarchy | Pasta1 Ficheiro1 Ficheiro2 Subpasta1 Ficheiro3 Ficheiro4 Ficheiro5 |
A pasta de destino Folder1 é criada com a seguinte estrutura: Pasta1 Ficheiro1 Ficheiro2 Subfolder1 com File3, File4 e File5 não são coletadas. |
false | achatarHierarquia | Pasta1 Ficheiro1 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 Ficheiro1 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 pesquisa
Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.
Propriedades de 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
Property | 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 |
fileName | Nome ou filtro curinga para os arquivos sob o 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 caractere único).- 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 |
format | 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 em format como um desses 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
Property | 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 quando recursivo é definido como true e sink é armazenamento baseado em arquivo, pasta/subpasta vazia não são copiadas/criadas no coletor. Os valores permitidos são: true (padrão), false |
Não |
maxConcurrentConnections | 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
Property | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type do coletor de 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 |
maxConcurrentConnections | 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"
}
}
}
]
Conteúdos relacionados
Para obter uma lista de armazenamentos de dados suportados como fontes e coletores pela atividade de cópia, consulte Armazenamentos de dados suportados.