파일시스템

파일 시스템 엔트리는 directory-backed 또는 read-only embedded storage를 런타임 모듈에 노출합니다. 이 페이지는 설정 레퍼런스이며 YAML 블록은 완전한 프로젝트가 아닌 개별 entry fragment입니다.

엔트리 종류

종류 설명
fs.directory 디렉토리 기반 파일시스템
fs.embed 읽기 전용 임베디드 파일시스템

디렉토리 파일시스템

- name: uploads
  kind: fs.directory
  directory: "/var/data/uploads"
  auto_init: true
  mode: "0755"
필드 타입 기본값 설명
directory string 필수 루트 경로
auto_init bool false 없으면 디렉토리 생성
mode string 0755 Unix 권한 모드 (8진수)
base string - 상대 경로의 기준: project (프로세스 작업 디렉토리) 또는 module (엔트리를 소유한 모듈의 로드 루트)

절대 경로는 base 값과 무관하게 주어진 그대로 사용됩니다.

상대 경로의 경우 base: project는 프로세스 작업 디렉토리를 기준으로 유지합니다. base: module과 base를 설정하지 않은 경우는 모두, 레지스트리 소유자를 통해 조회한 엔트리 소유 모듈의 로드 루트를 기준으로 해석됩니다. 엔트리에 소유 모듈이 없거나 해당 모듈에 해석 가능한 리소스 루트가 없으면, 경로는 프로세스 작업 디렉토리 기준으로 남습니다.

그 외의 값은 invalid directory base로 거부됩니다.

모드는 모든 파일 작업을 제한합니다. 모든 읽기 비트가 설정되어 있고 실행 비트가 하나도 없으면 실행 비트가 자동으로 추가됩니다.

경로는 정규화되고 검증됩니다. 설정된 루트 디렉토리 외부의 파일에 접근하는 것은 불가능합니다.

임베디드 파일시스템

- name: static
  kind: fs.embed

임베디드 파일시스템은 엔트리 ID를 사용하여 팩 리소스에서 로드합니다. 읽기 전용입니다.

임베디드 파일시스템은 내부 메커니즘입니다. 수동 설정은 일반적으로 필요하지 않습니다.

작업

두 파일시스템 타입 모두 다음을 구현합니다:

작업 디렉토리 임베드
Open/Read 예 예
Stat 예 예
Lstat 예 예
ReadDir 예 예
OpenFile (쓰기) 예 아니오
Remove 예 아니오
Mkdir 예 아니오
Rename 예 아니오

임베디드 파일시스템에서의 쓰기 작업은 에러를 반환합니다.

Lua API

파일 작업은 파일시스템 모듈을 참조하십시오.

참고