[Snowflake] Directory Tables & File Support REST API

차지예·2026년 6월 11일

Snowflake

목록 보기
42/49
post-thumbnail

1️⃣ Directory Tables

  • 본질: Stage 위 implicit object (별도 DB 객체 ❌, 자체 권한 ❌)
  • 저장: 파일 단위 메타데이터 (External Table과 유사)
  • 켜기: DIRECTORY = (ENABLE = TRUE) ← CREATE / ALTER 공통
  • 조회: SELECT * FROM DIRECTORY(@stage)
  • 출력 컬럼: RELATIVE_PATH · SIZE · LAST_MODIFIED · MD5 · ETAG · FILE_URL

2️⃣ Refreshing

  • 트리거 대상: 추가된 파일 / 삭제된 파일 / 변경된 파일
  • 수동: ALTER STAGE <name> REFRESH; (Internal은 수동 필수)
  • 자동(External): ① ENABLE → ② DESCRIBE STAGE로 SQS ARN(directory_notification_channel) → ③ S3 이벤트 알림 구성
  • 비용: 자동 = Snowpipe 청구 / 수동 = cloud services

3️⃣ File Support REST API → GET /api/files

Scoped URLFile URL
함수BUILD_SCOPED_FILE_URL()BUILD_STAGE_FILE_URL()
인가생성자 본인만Stage 권한자 누구나
기간24시간영구
  • 인증: OAuth Bearer {token} + allow_redirects=True 필수
  • File URL 접근: ① 인증 → ② role 권한 검증 → ③ 스토리지로 리다이렉트

🎯 핵심 요약

약어의미
ENABLE-REFRESH켜고(ENABLE TRUE) → 갱신(REFRESH)
스코프드 = 본·24인만·24시간
스테이지 = 권·영한자 누구나·
자동 = 파이프자동 refresh → Snowpipe 비용

한 줄: "디렉터리는 ENABLE로 켜고 REFRESH로 갱신. 스코프드는 본인·24시간, 스테이지는 권한자·영구."

0개의 댓글