Sistema de Arquivos

Entradas de sistema de arquivos expõem armazenamento baseado em diretórios ou armazenamento embutido somente leitura aos módulos do runtime. Esta página é uma referência de configuração; os blocos YAML são fragmentos de entradas individuais, e não projetos completos.

Tipos de Entradas

Tipo Descrição
fs.directory Sistema de arquivos baseado em diretório
fs.embed Sistema de arquivos embutido somente leitura

Sistema de Arquivos de Diretório

- name: uploads
  kind: fs.directory
  directory: "/var/data/uploads"
  auto_init: true
  mode: "0755"
Campo Tipo Padrão Descrição
directory string obrigatório Caminho raiz
auto_init bool false Cria diretório se ausente
mode string 0755 Modo de permissão Unix (octal)
base string - Base para caminhos relativos: project (diretório de trabalho do processo) ou module (raiz de carregamento do módulo proprietário)

Caminhos absolutos são usados como fornecidos, independentemente do que base indicar.

Para um caminho relativo, base: project o mantém relativo ao diretório de trabalho do processo. Tanto base: module quanto um base não definido o resolvem contra a raiz de carregamento do módulo que é dono da entrada, obtida através do proprietário da entrada no registry. Quando a entrada não tem módulo proprietário, ou esse módulo não tem uma raiz de recursos resolvível, o caminho permanece relativo ao diretório de trabalho do processo.

Qualquer outro valor é rejeitado com invalid directory base.

O modo restringe todas as operações de arquivo. Bits de execução são adicionados automaticamente quando todos os bits de leitura estão definidos e nenhum bit de execução está.

Caminhos são normalizados e validados. Não é possível acessar arquivos fora do diretório raiz configurado.

Sistema de Arquivos Embutido

- name: static
  kind: fs.embed

Sistemas de arquivos embutidos carregam de recursos de pack usando o ID da entrada. Eles são somente leitura.

Sistemas de arquivos embutidos são um mecanismo interno. Configuração manual tipicamente não é necessária.

Operações

Ambos os tipos de sistema de arquivos implementam:

Operação Directory Embed
Open/Read Sim Sim
Stat Sim Sim
Lstat Sim Sim
ReadDir Sim Sim
OpenFile (escrita) Sim Não
Remove Sim Não
Mkdir Sim Não
Rename Sim Não

Operações de escrita em sistemas de arquivos embutidos retornam um erro.

API Lua

Consulte o módulo Filesystem para as operações de arquivo.

Consulte também