비정형 데이터 지원 소개

이 항목에서는 주요 개념을 소개하고 비정형 데이터 파일에 액세스하고 공유하는 지침을 제공합니다.

이 항목의 내용:

클라우드 저장소 서비스 지원

외부(외부 클라우드 저장소) 및 내부(즉, Snowflake) 스테이지가 모두 비정형 데이터를 지원합니다.

외부 스테이지

외부 클라우드 저장소에 파일 저장: Amazon S3, Google Cloud Storage 또는 지원되는 Microsoft Azure 클라우드 저장소 서비스 중 하나:

  • Blob 저장소

  • Data Lake Storage Gen2

  • 범용 v1

  • 범용 v2

파일 액세스에 사용할 수 있는 URL의 유형

다음과 같은 유형의 URL을 클라우드 저장소의 파일에 액세스하는 데 사용할 수 있습니다.

범위 지정 URL

스테이지에 권한을 부여하지 않고 스테이징된 파일에 대한 임시 액세스를 허용하는 인코딩된 URL입니다.

이 URL은 현재 24시간인 지속 쿼리 결과 기간 이 끝날 때(즉, 결과 캐시 만료 시) 만료됩니다.

파일 URL

데이터베이스, 스키마, 스테이지 및 파일 세트에 대한 파일 경로를 식별하는 URL. 다음과 같이 스테이지에 대한 충분한 권한이 있는 역할이 파일에 액세스할 수 있습니다.

사전 서명된 URL

웹 브라우저를 통해 파일에 액세스하는 데 사용되는 간단한 HTTPS URL. 사용자는 사전 서명된 액세스 토큰을 사용하여 이 URL을 통해 파일에 임시로 액세스할 수 있습니다. 액세스 토큰의 만료 시간은 구성할 수 있습니다.

다음 표에서는 이러한 URL 유형의 주요 특성을 설명합니다.

범위 지정 URL

파일 URL

사전 서명된 URL

사용 사례

파일 관리자가 같은 계정의 특정 역할에 데이터 파일에 대한 범위 지정 액세스 권한을 부여하도록 권장됩니다. 범위 지정 URL을 검색하는 뷰를 통해 파일에 대한 액세스를 제공합니다. 뷰에 대한 권한이 있는 역할만 파일에 액세스할 수 있습니다. 공유를 통해 비정형 데이터를 다른 계정에 제공하거나 Snowsight를 통해 비정형 데이터를 다운로드하고 임시 분석하는 사용자 지정 애플리케이션에 사용하기에 이상적입니다.

스테이지의 파일에 영구적인 URL. 파일을 다운로드하거나 파일에 액세스하기 위해, 사용자는 GET 요청의 파일 URL을 인증 토큰과 함께 REST API 엔드포인트로 보냅니다. 비정형 데이터 파일에 액세스해야 하는 사용자 지정 애플리케이션에 이상적입니다.

Snowflake에 인증하거나 인증 토큰을 전달하지 않고 파일을 다운로드하거나 액세스하는 데 사용됩니다. 사전 서명이 URL이 열려 있습니다. 모든 사용자나 애플리케이션이 파일에 직접 액세스하거나 파일을 다운로드할 수 있습니다. 비정형 파일 내용을 표시해야 하는 비즈니스 인텔리전스 애플리케이션 또는 보고 도구에 이상적입니다.

생성 방법

BUILD_SCOPED_FILE_URL 함수를 쿼리합니다.

스테이징된 파일을 참조하는 스테이지의 디렉터리 테이블을 쿼리하거나 또는 BUILD_STAGE_FILE_URL 함수를 호출합니다.

GET_PRESIGNED_URL 함수를 쿼리합니다.

사용법

사용할 수 있는 옵션은 다음과 같습니다.

  • Snowsight에서 쿼리 결과 테이블의 범위 지정 URL을 클릭합니다. Snowsight는 범위 지정 URL을 생성한 사용자용 파일만 검색합니다.

  • GET 요청에서 범위 지정 URL을 파일 지원 REST API 엔드포인트로 보냅니다. 자세한 내용은 비정형 데이터 지원을 위한 REST API 섹션을 참조하십시오.

사용할 수 있는 옵션은 다음과 같습니다.

  • Snowsight에서 쿼리 결과 테이블의 파일 URL을 클릭합니다. Snowsight는 활성 역할에 충분한 권한이 있는 경우에만 파일을 검색합니다.

  • GET 요청에서 파일 URL을 파일 지원 REST API 엔드포인트로 보냅니다. 자세한 내용은 비정형 데이터 지원을 위한 REST API 섹션을 참조하십시오.

사용할 수 있는 옵션은 다음과 같습니다.

  • Snowsight에서 쿼리 결과 테이블의 사전 서명 URL을 클릭합니다.

  • 웹 브라우저에서 사전 서명 URL로 직접 이동합니다.

Snowflake Secure Data Sharing

데이터 공급자가 공유하는 보안 뷰에서 이 유형의 열 값을 통해 데이터 컨슈머가 비정형 데이터 파일에 액세스할 수 있습니다.

데이터 공급자가 공유하는 보안 뷰에서 이 유형의 열 값을 통해 데이터 컨슈머가 비정형 데이터 파일에 액세스할 수 없습니다.

데이터 공급자가 공유하는 보안 뷰에서 이 유형의 열 값을 통해 데이터 컨슈머가 비정형 데이터 파일에 액세스할 수 있습니다.

인증

범위 지정 URL을 생성하는 사용자만 이 URL을 사용해 참조된 파일에 액세스할 수 있습니다.

GET REST API 호출에 지정된 역할은 스테이지에 대한 충분한 권한, USAGE(외부 스테이지) 또는 READ(내부 스테이지)가 있어야 합니다.

사전 서명 URL을 가진 사람은 누구나 토큰의 수명 동안 참조 파일에 액세스할 수 있습니다.

만료

쿼리 결과 캐시의 만료 기간(현재 24시간).

영구.

expiration_time 인자에 지정된 길이의 시간.

스테이지에 대한 서버 측 암호화 전용

사전 서명 URL을 사용한 파일 액세스를 지원하려면 클라이언트 측 암호화가 아닌 서버 측 암호화를 사용하여 명명된 내부 또는 외부 스테이지를 만드십시오. 스테이지의 파일이 클라이언트 측에서 암호화될 때, 사용자는 암호화 키에 액세스해야 스테이징된 파일을 읽을 수 있습니다.

참고

현재, 서버 측 암호화를 사용한 내부 스테이지 만들기는 다음 Snowflake 클라이언트 버전으로 제한됩니다.

  • JDBC 드라이버 v3.12.11 이상

디렉터리 테이블

디렉터리 테이블은 클라우드 저장소에 스테이징된 파일의 카탈로그를 저장합니다. 충분한 권한이 있는 역할은 디렉터리 테이블을 쿼리하여 스테이징된 파일에 액세스하기 위한 파일 URL을 불러올 수 있습니다.

자세한 내용은 디렉터리 테이블 섹션을 참조하십시오.

SQL 함수

데이터 파일에 액세스하기 위해 다음 파일 함수 가 제공됩니다.

SQL 함수

설명

GET_STAGE_LOCATION

스테이지 이름을 입력으로 사용하여 외부 또는 내부의 명명된 스테이지에 대한 URL을 반환합니다.

GET_RELATIVE_PATH

클라우드 저장소에서 스테이지 이름과 절대 파일 경로를 입력으로 사용하여 스테이지에서 스테이징된 파일의 위치를 기준으로 파일 경로를 추출합니다.

GET_ABSOLUTE_PATH

스테이지 내 파일의 위치를 기준으로 하는 파일의 경로와 스테이지 이름을 입력으로 사용하여 스테이징된 파일의 절대 경로를 반환합니다.

GET_PRESIGNED_URL

스테이지 이름과 상대 파일 경로를 입력으로 사용하여 스테이징된 파일에 대한 사전 서명 URL을 생성합니다. 이 함수를 사용하여 외부 스테이지의 파일에 액세스합니다.

BUILD_SCOPED_FILE_URL

스테이지 이름과 상대 파일 경로를 입력으로 사용하여 스테이징된 파일에 대한 범위 지정 Snowflake 호스팅 URL을 생성합니다.

BUILD_STAGE_FILE_URL

스테이지 이름과 상대 파일 경로를 입력으로 사용하여 스테이징된 파일에 대한 Snowflake 호스팅 파일 URL을 생성합니다.

Snowsight에서 스테이징된 파일 다운로드하기

사용자는 Snowsight 워크시트의 결과 테이블에서 생성된 범위 지정 URL, 사전 서명 URL 또는 파일 URL을 클릭하여 참조 파일을 다운로드할 수 있습니다.

  1. Snowflake 웹 인터페이스인 Snowsight 에 로그인합니다.

  2. Worksheets » My Worksheets (또는 Recent 또는 Folders 아래에서 로컬 워크시트 열기) » <워크시트_이름> 을 클릭합니다.

  3. 지원되는 방법 중 하나를 사용하여 쿼리에서 범위 지정, 사전 서명 또는 파일 URL을 반환합니다.

  4. 결과 테이블에서 URL을 클릭합니다. Snowsight는 URL에서 참조하는 파일을 다운로드합니다.

    Download pre-signed URL in Snowsight results table
맨 위로 이동