Snowflake Python API를 사용하여 Snowflake에 연결하기¶
Snowflake Python API로 작업을 수행하려면 먼저 Snowflake에 대한 연결을 정의해야 합니다. 연결을 사용하면 API에서 모델링한 리소스에 액세스하기 위한 Root
오브젝트를 생성할 수 있습니다.
연결 속성 지정하기¶
다음 메커니즘 중 하나를 사용하여 Snowflake에 대한 연결을 정의할 수 있습니다.
Python 사전을 사용하여 연결하기¶
Python 사전을 사용하여 Snowflake에 연결하는 데 필요한 값을 지정할 수 있습니다. 연결할 때 이 사전을 연결에 사용하는 함수나 메서드에 대한 인자로 전달합니다.
import os
CONNECTION_PARAMETERS = {
"account": os.environ["snowflake_account_demo"],
"user": os.environ["snowflake_user_demo"],
"password": os.environ["snowflake_password_demo"],
"role": "test_role",
"database": "test_database",
"warehouse": "test_warehouse",
"schema": "test_schema",
}
구성 파일을 사용하여 연결하기¶
TOML 구성 파일 에서 연결 정의를 지정할 수 있습니다. 이렇게 하면 코드에서 Snowflake에 대한 연결을 명시적으로 정의할 필요가 없습니다.
예를 들어, ~/.snowflake/connections.toml
에 있는 구성 파일을 생성하고 다음과 유사한 연결 매개 변수를 추가합니다.
[myconnection]
account = "test_account"
user = "test_user"
password = "******"
role = "test_role"
warehouse = "test_warehouse"
database = "test_database"
schema = "test_schema"
이 예에서는 계정 test_account
, 사용자 test_user
, 비밀번호 자격 증명, 데이터베이스 정보를 사용하여 myconnection
이라는 Snowflake 연결을 정의합니다.
연결 정의는 Snowflake Python 커넥터 에서 제공되는 것과 동일한 구성 옵션을 지원합니다.
Root
오브젝트 연결 및 생성하기¶
지정한 연결 속성을 사용하여 Snowflake에 대한 연결을 생성할 수 있습니다. 연결을 통해 API를 사용하기 시작하는 Snowflake Python API Root
오브젝트를 생성할 수 있습니다.
다음 오브젝트 중 하나를 사용하여 연결할 수 있습니다.
Snowpark Session
과 연결하기¶
Python용 Snowpark API 를 사용하는 경우 해당 snowflake.snowpark.Session
오브젝트를 사용하여 Snowflake에 대한 연결을 생성할 수 있습니다.
다음 예제의 코드에서는 구성 파일에 정의된 연결 매개 변수를 사용하여 Snowflake에 대한 연결을 생성합니다. 이 코드에서는 결과 Session
오브젝트를 사용하여 API를 사용할 Root
오브젝트를 생성합니다.
from snowflake.core import Root
from snowflake.snowpark import Session
session = Session.builder.config("connection_name", "myconnection").create()
root = Root(session)
Session
생성에 대한 자세한 내용은 Snowpark Python 세션 만들기 섹션을 참조하십시오.
Python 커넥터 Connection
으로 연결하기¶
Python용 Snowflake 커넥터 를 사용하는 경우 해당 snowflake.connector.connect
함수를 사용하여 Snowflake에 대한 연결을 생성할 수 있습니다. 이 함수는 Connection
을 반환합니다.
다음 예제의 코드에서는 구성 파일에 정의된 연결 매개 변수를 사용하여 Snowflake에 대한 연결을 생성합니다. 이 코드에서는 결과 Connection
오브젝트를 사용하여 API를 사용할 Root
오브젝트를 생성합니다.
from snowflake.connector import connect
from snowflake.core import Root
connection = connect(connection_name="myconnection")
root = Root(connection)
Python용 Snowflake 커넥터 API에 대한 자세한 내용은 Python 커넥터 API 섹션을 참조하십시오.
Root
오브젝트 사용하기¶
Snowflake 연결에서 생성된 Root
오브젝트를 사용하면 Snowflake Python API의 오브젝트와 메서드에 액세스할 수 있습니다. Root
오브젝트는 Snowflake Python API에서 모델링한 리소스 트리의 루트입니다. Root
오브젝트를 사용하여 API로 표시되는 Snowflake 오브젝트와 상호 작용합니다.
다음 예제의 코드에서는 mytask
라는 작업을 재개하기 위해 Root
오브젝트를 사용하여 Snowflake 오브젝트에 액세스합니다. 작업은 mydb
라는 데이터베이스에 있는 myschema
라는 스키마에 있습니다. 이 코드에서는 databases
, schemas
및 tasks
메서드를 사용하여 이 작업을 나타내는 오브젝트를 가져옵니다.
from snowflake.core import Root
from snowflake.core.task import Task
tasks = root.databases["mydb"].schemas["myschema"].tasks
mytask = tasks["mytask"]
mytask.resume()