Snowflake Python API: Python으로 Snowflake 오브젝트 관리하기

Snowflake Python API는 모든 Snowflake 워크로드에 걸친 통합 Python API로, 데이터 엔지니어링, Snowpark, 클라이언트 애플리케이션 워크로드 전반에 걸쳐 모든 Snowflake 리소스에 대한 API를 제공하기 위한 것입니다.

Snowflake Python API를 사용하여 Snowflake 리소스와 상호 작용하여 리소스 생성, 삭제, 수정 등의 작업을 수행할 수 있습니다. Python을 사용하면 Snowflake SQL 명령 으로 수행했어야 할지 모르는 작업을 수행할 수 있습니다.

Snowflake Python API를 사용하면 현재 다음과 같은 Snowflake 오브젝트를 관리할 수 있습니다.

Snowflake Python API 사용에 대한 입문용 자습서는 빠른 시작: Snowflake Python API 시작하기 를 참조하십시오.

다음 예제의 코드는 my_task 라는 작업을 실행합니다. 이 코드는 구성 파일에 정의된 연결 매개 변수를 사용하여 Snowflake에 대한 연결을 생성합니다. 해당 코드에서는 결과 Session 오브젝트를 사용하여 API의 유형과 메서드를 사용하기 위해 Root 오브젝트를 생성합니다. 이 코드는 API를 사용하여 my_task 를 나타내는 Task 오브젝트를 생성합니다. 이 코드는 TaskResource 오브젝트 task_res 를 사용하여 작업을 실행합니다.

API로 수행할 수 있는 작업 관련 조치 사항에 대한 자세한 내용은 Python을 사용하여 Snowflake 작업 및 DAG 관리하기 섹션을 참조하십시오.

from snowflake.core import Root
from snowflake.core.task import Task
from snowflake.snowpark import Session

session = Session.builder.config("connection_name", "myconnection").create()
root = Root(session)

tasks = root.databases["mydb"].schemas["myschema"].tasks
task_res = tasks['my_task']

task_res.execute()
Copy

제한 사항

Snowflake Python API는 현재 Snowflake Anaconda 채널에서 사용할 수 없습니다.

지원되는 버전

지원되는 Python 버전은 다음과 같습니다.

  • 3.8

  • 3.9

  • 3.10

  • 3.11

개발자 가이드

가이드

설명

Snowflake Python API 라이브러리 설치하기

Snowflake Python API 패키지를 설치합니다.

Snowflake Python API를 사용하여 Snowflake에 연결하기

Python 코드에서 Snowflake에 연결합니다.

Python을 사용하여 Snowflake 작업 및 DAG 관리하기

API를 사용하여 작업과 작업의 DAG를 생성, 실행, 관리합니다.

Python을 사용하여 Snowflake 데이터베이스, 스키마 및 테이블 관리하기

데이터베이스, 스키마, 테이블을 생성하고 관리하려면 API를 사용합니다.

Python을 사용하여 Snowflake 가상 웨어하우스 관리하기

API를 사용하여 가상 웨어하우스를 만들고 관리합니다.

Python으로 Snowpark Container Services 관리하기

API를 사용하여 컴퓨팅 풀, 이미지 리포지토리, 서비스 등 Snowpark Container Services의 구성 요소를 관리합니다.

Snowflake 액세스 비용

사용 크레딧과 네트워크 활동 모두의 비용을 줄이기 위해 Snowflake Python API는 Snowflake와 동기화하도록 설계된 메서드를 호출할 때만 Snowflake와 통신하도록 설계되었습니다.

API의 오브젝트는 로컬 참조(또는 핸들)이거나 Snowflake에 저장된 상태의 스냅샷입니다. 일반적으로 로컬 인메모리 참조 오브젝트를 통해 Snowflake에서 정보에 따라 작업을 수행하거나 정보를 검색합니다.

이러한 참조는 메서드를 호출해야 Snowflake와 동기화됩니다. 메서드를 호출하면 일반적으로 사용 크레딧과 네트워크 활동에서 모두 비용이 발생합니다. 반대로, 속성에 액세스할 때와 같이 인메모리 참조를 사용할 때는 작업이 로컬에서 수행되므로 그러한 비용이 발생하지 않습니다.