LIST

다음 Snowflake 저장소 기능 중 하나에서 파일 목록을 반환합니다.

LIST는 LS로 축약할 수 있습니다.

참고 항목:

REMOVE, PUT, COPY INTO <테이블>, COPY INTO <위치>, GET

구문

구문은 스테이징 또는 Git 리포지토리 복제본에 파일을 나열하는지 여부에 따라 다릅니다.

스테이징의 경우

LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
Copy

여기서:

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]
Copy
externalStage ::=
  @[<namespace>.]<ext_stage_name>[/<path>]
Copy

Git 리포지토리 복제본의 경우

LIST repositoryClone [ PATTERN = '<regex_pattern>' ]
Copy

여기서:

repositoryClone ::=
  @[<namespace>.]<repository_clone>/<path>
Copy

필수 매개 변수

스테이징의 경우

internalStage | externalStage

데이터 파일이 스테이징되는 위치를 지정합니다.

@[namespace.]int_stage_name[/path]

파일이 지정된 명명된 내부 스테이지에 있습니다.

@[namespace.]ext_stage_name[/path]

파일이 지정된 명명된 외부 스테이지에 있습니다.

@[namespace.]%table_name[/path]

파일이 지정된 테이블의 스테이지에 있습니다.

@~[/path]

파일이 현재 사용자의 스테이지에 있습니다.

여기서:

  • namespace 는 명명된 스테이지 또는 테이블이 있는 데이터베이스 및/또는 스키마입니다. 데이터베이스와 스키마가 현재 세션 내에서 사용 중인 경우 이는 선택 사항입니다. 그렇지 않은 경우에는 필수입니다.

  • path 는 파일 세트에 대한 액세스를 제한하는 클라우드 저장소 위치에 있는 파일의 선택적 경로로, 대/소문자를 구분합니다(즉, 파일 이름이 공통 문자열로 시작함). 다른 클라우드 저장소 서비스에서는 경로를 접두사 또는 폴더 라고도 합니다.

참고

스테이지 이름 또는 경로가 공백이나 특수 문자를 포함한 경우 이를 작은따옴표로 묶어야 합니다(예: "my stage" 로 명명된 스테이지의 경우 '@"my stage"').

경로를 지정하면 LIST 명령의 범위가 제공되어 명령 실행에 필요한 시간을 줄일 수 있는 가능성이 있습니다.

Git 리포지토리 복제본의 경우

repositoryClone

:doc:`리포지토리 복제본</sql-reference/sql/create-git-repository>`의 이름 및 파일을 나열할 분기, 태그 또는 커밋을 지정합니다.

@[namespace.]repository_clone/path

Git 리포지토리 복제본에서 파일을 나열할 때 :code:`path`는 필수이며 다음 중 하나로 시작해야 합니다.

branches/branch_name

지정된 분기의 파일을 나열합니다.

tags/tag_name

지정된 태그의 파일을 나열합니다.

commits/commit_hash

커밋 해시로 지정된 커밋의 파일을 나열합니다.

참고

리포지토리 복제본 이름 또는 경로에 공백이나 특수 문자가 포함된 경우 작은따옴표(예: 이름이 "my repository"`인 리포지토리의 경우 :code:’@”my repository”’`)로 묶어야 합니다.

선택적 매개 변수

PATTERN = 'regex_pattern'

출력에서 파일을 필터링하기 위한 정규식 패턴을 지정합니다. 이 명령은 지정된 path 의 모든 파일을 나열하고 찾은 각 파일에 정규식 패턴을 적용합니다.

사용법 노트

  • 저장소 통합을 사용하는 외부 스테이지에서 이 명령을 실행하려면 저장소 통합에 대한 USAGE 권한이 있거나 이를 상속받은 역할을 사용해야 합니다.

    자세한 내용은 스테이지 권한 섹션을 참조하십시오.

  • 명명된 스테이지와 달리, 테이블 및 사용자 스테이지는 일급 데이터베이스 오브젝트가 아니라, 오히려 테이블/사용자와 연결된 암시적 스테이지입니다. 따라서 이런 스테이지는 부여할 수 있는 자체적인 권한이 없습니다.

    • 항상 사용자 스테이지에서 파일을 나열할 수 있습니다(즉, 아무런 권한도 필요하지 않음).

    • 테이블 스테이지에서 파일을 나열하려면 테이블에 대한 OWNERSHIP 권한을 가진 역할을 사용해야 합니다.

    • PATTERN 은 Java Pattern 클래스 구문을 지원합니다.

출력

이 명령은 다음 테이블의 열을 반환합니다. 열 값은 LIST를 스테이징과 사용하는지 또는 Git 리포지토리 복제본과 사용하는지 여부에 따라 달라집니다.

스테이징의 경우

데이터 타입

설명

이름

VARCHAR

스테이징된 파일의 이름입니다.

크기

NUMBER

압축된 파일의 크기(바이트)입니다.

md5

VARCHAR

MD5 열에는 스테이징된 데이터 파일 내용의 MD5 해시가 저장됩니다.

기본 암호화(SNOWFLAKE_FULL)가 적용된 내부 스테이지의 경우, 업로드 시 소스 파일은 임의의 키로 암호화되며, 그 결과 MD5 수집은 항상 원본 로컬 파일과 다릅니다.

Amazon S3 스테이지는 파일 내용 중 MD5 해시가 아닐 수 있는 S3 eTag 필드를 통해 값을 보고합니다.

고객이 관리하는 암호화 키(CMEK)를 사용하는 Google Cloud 스테이지의 경우 md5는 NULL 로 예상됩니다.

자세한 내용은 고객 관리 암호화 키 를 참조하십시오.

sha1

VARCHAR

사용되지 않음

마지막으로_수정한_날짜

VARCHAR

파일이 스테이지에서 마지막으로 업데이트된 타임스탬프

Git 리포지토리 복제본의 경우

데이터 타입

설명

이름

VARCHAR

확장명이 있는 전체 파일 경로

크기

NUMBER

압축된 파일의 크기(바이트)입니다.

md5

VARCHAR

사용되지 않음

sha1

VARCHAR

파일 내용에 SHA-1 해싱 알고리즘을 적용하여 생성된 고유 식별자입니다. Git이 리포지토리에 있는 파일의 정확한 버전을 추적하고 참조하는 데 사용되며, 파일 내용의 변경 사항을 감지하는 데 사용할 수 있습니다.

마지막으로_수정한_날짜

VARCHAR

나열된 파일과 연관된 커밋의 타임스탬프입니다. 이는 반드시 파일 내용이 마지막으로 변경된 시점을 나타내는 것은 아닙니다.

스테이징의 경우

mytable 테이블의 스테이지에 있는 모든 파일을 나열합니다.

LIST @%mytable;
Copy

mystage 로 명명된 스테이지의 path1 경로에 있는 모든 파일을 나열합니다.

LIST @mystage/path1;
Copy

mytable 테이블의 스테이지에서 정규식과 일치하는 파일(즉, 문자열 data_0 을 포함하는 모든 파일 이름)을 나열합니다.

LIST @%mytable PATTERN='.*data_0.*';
Copy

정규식과 일치하는 my_csv_stage 로 명명된 스테이지의 /analysis/ 경로에 있는 파일(즉, 문자열 data_0 을 포함하는 모든 파일 이름)을 나열합니다.

LIST @my_csv_stage/analysis/ PATTERN='.*data_0.*';
Copy

축약된 형식의 명령을 사용하여 현재 사용자의 스테이지에 있는 모든 파일을 나열합니다.

LS @~;
Copy

Git 리포지토리 복제본의 경우

예는 리포지토리 파일 목록 보기 을 참조하십시오.