Olá esse é o integration developer bootcamp estamos na etapa de arquitetura e padrões de projeto do nesse vídeo falaremos sobre como arquivos funcionam na plataforma e como podemos manipulá-los o pipeline possui uma área temporária e local para a manipulação de arquivos que é separada e validada Somente durante a execução do fluxo esses arquivos estarão sempre no diretório relativo exemplo data. csv ou processamento bar. cs qualquer tentativa de acesso a outros diretórios absolutos será bloqueada durante a execução do pipeline observação é importante entender que para manipular qualquer arquivo durante o processo de execução do pipeline o mesmo necessita estar no contexto do pipeline dentro do storage temporário para entender um pouco melhor vamos ver algum dos conectores que fazem utilização de arquivos na plataforma começando pelo file writer esse conector permite que informações sejam escritas em um arquivo caso o arquivo definido no fename não exista no Storage temporário o file writer irá criar o arquivo no Storage o conector Irá retornar o nome do arquivo criado editado no Storage temporário então sobre esses três tópicos temos o seguinte primeiro tópico é ele é responsável por criações de arquivos principalmente arquivos de texto e arquivos pcsd é um dos atributos de configuração desse conector aqui caso esse arquivo esse nome colocado nesse parâmetro não exista no contexto do pipeline esse conector vai criar um novo arquivo com nome especificado caso o arquivo Já exista no contexto do pipeline ele fará apenas algum tipo de modificação por fim Após a execução do fluxo esse conector vai retornar Como diz onde saída o nome do arquivo e sucesso ou file agora falando sobre o file reader Ele lê um arquivo local e converte para uma estrutura de Zon que pode ser manipulada dentro do pipeline conector suporta a leitura de arquivos de texto multilinha ou arquivos binários aqui um detalhe importante é ele só consegue ler arquivos que já estão dentro do contexto do pipeline uma vez que você tentar ler um arquivo que não existe no contexto o conector resultará um dizone de erro agora sobre o digib Storage ele é um armazenamento temporário de arquivos ele é um banco de dados de armazenamento de arquivos ou seja ele é equivalente à base de dados temporárias ele permite que a gente faça operações de list download upload e delete Além disso eu tenho uma um dos parâmetros que é criar um um link compartilhável de download nesse link ao colar esse link na URL o desenvolvedor consegue ter acesso ao arquivo diretamente dentro do seu computador por fim temos alguns métodos de armazenamento externo são por exemplo os conectores a segir Google Storage FTP S3 Storage da WS e sftp existem outros conectores para fazer a manipulação de arquivos de maneira externa na plataforma agora que o contexto Já Foi explicado vamos abrir a plataforma e entender na prática como funciona esse contexto de arquivo agora com a plataforma aberta vamos entender como é que funciona essa lógica de arquivos primeiro conector que eu estou utilizando é o conector file reader Como dito anteriormente ele vai pegar um file name que aqui eu vou definir como book list.
txt e ele vai tentar ler no contexto do pipeline esse arquivo aqui vou apenas fazer essa tração e confirmar e na hora de executar esse executar esse fluxo o resultado do componente é um erro ele success ficou como fals porque o arquivo especificado booklist P TXT não existe no nosso contexto vamos fazer algumas outras alterações agora eu vou ligar o meu fluxo o meu Trigger a esse fluxo aqui embaixo e o que ele faz é o seguinte eu tenho Jason generator que possui um atributo deira nesse atributo deira eu tenho diversos nomes de livros separados por quebra de linha aqui tenho 30 livros em sequência todos em um arquivo de texto todos em um apenas um texto o que eu vou fazer agora é utilizar o file writer para criar esse booklist P TXT utilizando deira inform formada no Jon anterior por meio do Jason generator Vou confirmar e vou executar esse fluxo o resultado foi um sucesso e o nome retornado é o nome do arquivo fename book list. txt então o primeiro passo é assim que cri amos um arquivo com file writer o Dion de saída não é o conteúdo do arquivo e sim o nome do arquivo e se o resultado foi sucesso foi file agora caso tentamos fazer a leitura do mesmo arquivo com o file reader vamos perceber uma coisa continua não existindo no contexto do pipeline isso porque esse contexto é sobre execuções então na execução anterior Eu criei esse arquivo booklist TXT mas no momento que essa execução chegou fim esse arquivo Deixa de estar no meu contexto E aí Eu precisaria criar novamente para depois fazer a leitura e para ver isso melhor vamos fazer o seguinte Vamos conectar o file reader imediatamente após o file writer aqui ele vai criar o arquivo e uma vez que ele está no contexto do pipeline eu vou poder Eler com esse componente então organizando o pipeline e executando O resultado é que o file reader agora é capaz de ler todos os todos os dados registrados no arquivo booklist P TXT para exemplificar melhor ainda essa questão do contexto de pipeline eu vou fazer uma alteração eu vou buscar o componente Jason generator e eu vou colocar esse componente imediatamente após a criação do F writer ao Executar a gente vai perceber que a mensagem de saída o Gon de saída é apenas um deson vazio que corresponde às configurações iniciais desse generator entretanto se eu conectar novamente generator a read booklist e aperta play eu vou perceber que ele ainda é capaz de ler mesmo não estando diretamente após o componente de criação isso porque os arquivos funcionam como session Management ele tem uma área temporária uma vez que você salva alguma coisa nessa área temporária você pode recuperar a qualquer momento dentro do pipeline então aqui uma vez que ele foi criado esse arquivo aqui ele vai estar disponível em todos os cantos desse desse fluxo então eu podia acrescentar diversos componentes aqui e utilizar esse componente apenas no final que eu ainda seria capaz de ler esse arquivo agora que a gente entendeu como esse contexto funciona vamos ver um pouco sobre dgb Storage e entender como funciona o armazenamento então buscando o componente arrastando e soltando no Canvas vamos fazer a primeira operação que vai ser a operação de upload o que eu quero fazer é que no meu DB Storage eu tenha aqui esse book list. txt esteja enado para que eu possa fazer o download posteriormente Então como Fame eu vou manter esse padrão de book l.