LIST¶
다음 Snowflake 저장소 기능 중 하나에서 파일 목록을 반환합니다.
스테이지
명명된 내부
명명된 외부
지정된 테이블의 경우
현재 사용자의 경우
LIST는 LS로 축약할 수 있습니다.
- 참고 항목:
구문¶
구문은 스테이징 또는 Git 리포지토리 복제본에 파일을 나열하는지 여부에 따라 다릅니다.
스테이징의 경우¶
LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
여기서:
internalStage ::= @[<namespace>.]<int_stage_name>[/<path>] | @[<namespace>.]%<table_name>[/<path>] | @~[/<path>]externalStage ::= @[<namespace>.]<ext_stage_name>[/<path>]
Git 리포지토리 복제본의 경우¶
LIST repositoryClone [ PATTERN = '<regex_pattern>' ]
여기서:
repositoryClone ::= @[<namespace>.]<repository_clone>/<path>
필수 매개 변수¶
스테이징의 경우¶
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/pathGit 리포지토리 복제본에서 파일을 나열할 때 :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;
mystage 로 명명된 스테이지의 path1 경로에 있는 모든 파일을 나열합니다.
LIST @mystage/path1;
mytable 테이블의 스테이지에서 정규식과 일치하는 파일(즉, 문자열 data_0 을 포함하는 모든 파일 이름)을 나열합니다.
LIST @%mytable PATTERN='.*data_0.*';
정규식과 일치하는 my_csv_stage 로 명명된 스테이지의 /analysis/ 경로에 있는 파일(즉, 문자열 data_0 을 포함하는 모든 파일 이름)을 나열합니다.
LIST @my_csv_stage/analysis/ PATTERN='.*data_0.*';
축약된 형식의 명령을 사용하여 현재 사용자의 스테이지에 있는 모든 파일을 나열합니다.
LS @~;
Git 리포지토리 복제본의 경우¶
예는 리포지토리 파일 목록 보기 을 참조하십시오.