비정형 데이터 지원을 위한 REST API¶
이 항목에서는 스테이징된 파일에 액세스하는 데 사용되는 REST API에 대해 설명합니다.
이 항목의 내용:
GET /api/files/
¶
내부 또는 외부 스테이지에서 데이터 파일을 검색(다운로드)합니다.
인증¶
사용자 지정 클라이언트에 대한 OAuth를 사용하여 REST API 엔드포인트를 인증합니다. (CREATE SECURITY INTEGRATION 를 사용하여) 보안 통합을 만들어 사용자를 인증 페이지로 리디렉션하고 REST API 엔드포인트에 액세스하기 위한 액세스 토큰을 생성하도록 OAuth(예: cURL)를 지원하는 HTTP 클라이언트를 활성화합니다. 사용자 지정 클라이언트의 OAuth 구성에 관한 자세한 내용은 사용자 지정 클라이언트용 Snowflake OAuth 구성하기 섹션을 참조하십시오.
사용법 노트¶
GET 요청에서 스테이징된 파일의 범위 지정 URL 또는 파일 URL을 보냅니다.
BUILD_SCOPED_FILE_URL SQL 함수를 호출하여 범위 지정 URL을 생성합니다.
BUILD_STAGE_FILE_URL SQL 함수를 호출하여 파일 URL을 생성합니다. 또는 가능한 경우 스테이지의 디렉터리 테이블을 쿼리합니다.
OAuth 또는 키 페어 인증을 사용하여 Snowflake SQL API를 통해 Snowflake를 인증합니다. 자세한 지침은 서버에 인증하기 섹션을 참조하십시오.
파일 액세스 권한은 GET 요청에서 범위 지정 URL 또는 파일 URL이 전송되는지 여부에 따라 다릅니다.
- 범위 지정 URL:
범위 지정 URL을 생성한 사용자만 이 URL을 사용해 참조된 파일에 액세스할 수 있습니다.
- 파일 URL:
다음과 같이 스테이지에 대한 충분한 권한이 있는 모든 역할이 파일에 액세스할 수 있습니다.
외부 스테이지: USAGE
내부 스테이지: READ
REST API로 URL(범위 지정 URL 또는 파일 URL)을 보내는 HTTP 클라이언트는 리디렉션을 허용하도록 구성해야 합니다.
내부 스테이지에서 다운로드한 파일이 손상된 경우 스테이지에 대해
ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE')
가 설정된 스테이지 작성자에게 확인하십시오.
헤더 요청¶
다음 요청 헤더는 모든 작업에 적용됩니다.
헤더 |
설명 |
---|---|
|
자세한 내용은 OAuth를 사용하여 서버 인증하기 를 참조하십시오. 예:
|
|
|
|
애플리케이션의 이름과 버전으로 설정하십시오(예: |
|
|
예¶
다음 Python 예제에서는 클라이언트 myApplication
버전 1.0에 대한 HTTP 요청을 발급합니다.
import requests
response = requests.get(url,
headers={
"User-Agent": "reg-tests",
"Accept": "*/*",
"X-Snowflake-Authorization-Token-Type": "OAUTH",
"Authorization": """Bearer {}""".format(token)
},
allow_redirects=True)
print(response.status_code)
print(response.content)