← SFTP: transferências e operação batch
04 / 12 · 40 MIN

Publicação e retoma de ficheiros

Separa transferência, publicação, persistência e aceitação pelo consumidor.

Conceito e mecanismo

Um consumidor que lê assim que encontra o nome final pode observar um ficheiro ainda em construção. Acorda uma área ou nome temporário ignorado e um passo de publicação depois da validação. Se esse passo usar rename, verifica implementação, extensão e filesystem. A extensão OpenSSH posix-rename tem semântica POSIX distinta da operação básica de versões do protocolo; não afirmes atomicidade universal para qualquer servidor SFTP. No caso POSIX documentado, origem e destino têm de estar no mesmo filesystem. Copiar entre filesystems não preserva automaticamente as mesmas propriedades. O contrato do consumidor deve indicar quando pode começar e como identifica cada entrega.

Aplicação guiada

Retomar uma transferência também tem pressupostos. Se a origem foi regenerada e o prefixo mudou, continuar sobre a cópia parcial antiga pode combinar versões incompatíveis. Reconcilia o conteúdo antes de decidir retoma ou nova entrega. Flush após upload depende de suporte e resultado da extensão fsync no exemplo OpenSSH; persistência em armazenamento não prova validação ou processamento de negócio. Num cenário de reconciliação, separa os marcos de ficheiro recebido, publicado, validado e aceite. Se a resposta se perder após publicar, conserva a identidade da entrega e consulta o estado do consumidor antes de repetir. Encriptação do transporte não fornece processamento exatamente uma vez.

NA PRÁTICA

Ficheiro persistido e ficheiro aceite pelo negócio são marcos diferentes.

Armadilhas comuns

Nome final como pronto; rename universal; retoma com origem alterada; flush como reconciliação; timeout como ausência de efeito.

Tópicos relacionados: Transporte e confiança no servidor · Permissões e isolamento · Batch e falhas observáveis

Leva esta ideia contigo

Define publicação e recuperação como contratos explícitos entre produtor e consumidor.

Criar conta

Referência: OpenSSH implementation protocol extensions · DR SFTP 2026-09; selected OpenSSH client, server and extension behavior