PutFile

 

Olá, seja bem-vindo a mais uma aula do curso Desenvolvimento com Apache Nifi.

Nesta aula vamos falar sobre o processor PutFile.

Este Processor pode gravar o conteúdo de um FlowFile no sistema de arquivos local.

Permite especificar o diretório onde será carregado o arquivo, caso não exista, será gerado automaticamente.

Caso o arquivo já exista é possível substitui-lo ou ignorar.

Ao ser pesquisado, pode aparecer nas seguintes tags:

  • put
  • local
  • copy
  • archive
  • files
  • filesystem

Abaixo temos uma lista com as suas propriedades:

  • Directory : Representa O diretório no qual os arquivos devem ser gravados. Você pode usar linguagem de expressão como /aa/bb/${path}, é uma propriedade obrigatória, mas não existe um valor default nessa propriedade.
  • Conflict Resolution Strategy : Indica o que deve acontecer quando um arquivo com o mesmo nome já existe no diretório de saída , é uma propriedade obrigatória e o valor default dessa propriedade é: fail
  • Create Missing Directories : Se true, os diretórios de destino ausentes serão criados. Se false, os arquivos de fluxo são penalizados e enviados para falha. , é uma propriedade obrigatória e o valor default dessa propriedade é: true
  • Maximum File Count : Especifica o número máximo de arquivos que podem existir no diretório de saída , por ser uma propriedade opcional não existe um valor default nessa propriedade.
  • Last Modified Time : Define lastModifiedTime no arquivo de saída com o valor deste atributo. O formato deve ser aaaa-MM-dd'T'HH:mm:ssZ. Você também pode usar linguagem de expressão como ${file.lastModifiedTime} , por ser uma propriedade opcional não existe um valor default nessa propriedade.
  • Permissions : Define as permissões no arquivo de saída para o valor deste atributo. O formato deve ser UNIX rwxrwxrwx com um - no lugar de permissões negadas (por exemplo, rw-r--r--) ou um número octal (por exemplo, 644). Você também pode usar linguagem de expressão como ${file.permissions}, por ser uma propriedade opcional não existe um valor default nessa propriedade.
  • Owner: Define o proprietário no arquivo de saída para o valor deste atributo. Você também pode usar linguagem de expressão como ${file.owner}, por ser uma propriedade opcional não existe um valor default nessa propriedade.
  • Group: Define o grupo no arquivo de saída para o valor deste atributo. Você também pode usar linguagem de expressão como ${file.group}, por ser uma propriedade opcional não existe um valor default nessa propriedade.

Este processor não possui propriedades dinâmicas que permitem que o usuário especifique o nome e o valor de uma propriedade. Porem possui propriedades de leitura, são elas:

  • filename: O nome do arquivo a ser usado ao gravar o FlowFile no disco.

Este componente não armazena estado. Os relacionamentos permitidos para direcionar ou terminar um flowfile são:

  • success: Os arquivos que foram gravados com sucesso no diretório de saída são transferidos para este relacionamento
  • failure: Arquivos que não puderam ser gravados no diretório de saída por algum motivo são transferidos para este relacionamento

Para este processor funcionar é precisa a permissão de write filesystem: Fornece ao operador a capacidade de gravar em qualquer arquivo ao qual o NiFi tenha acesso.