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

Snowflake Python API는 Python을 Snowflake 워크로드와 원활하게 연결하는 통합 라이브러리입니다. 이는 SQL 명령을 사용하지 않고도 데이터 엔지니어링, 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 오브젝트를 생성합니다. 이 코드는 task_res 라는 TaskResource 오브젝트를 사용하여 작업을 실행합니다.

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

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

제한 사항

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 작업 및 작업 그래프 관리하기

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

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

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

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

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

Python으로 Snowpark Container Services 관리하기

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

참조

Snowflake Python API 참조

Snowflake 액세스 비용

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

API의 오브젝트는 로컬 참조(또는 핸들)이거나 Snowflake에 저장된 상태의 스냅샷입니다. 일반적으로 Snowflake에서 검색된 정보를 처리할 때는 로컬 메모리 내 참조 오브젝트를 통해 처리합니다.

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