Snowpark Python 세션 만들기

애플리케이션에서 Snowpark를 사용하려면 세션을 만들어야 합니다. 코드 작성의 편의를 위해 패키지 및 오브젝트의 이름을 가져올 수도 있습니다.

이 항목의 내용:

세션 만들기

라이브러리 사용의 첫 번째 단계는 Snowflake 데이터베이스와 세션을 설정하는 것입니다.

Session 클래스를 가져옵니다.

from snowflake.snowpark import Session
Copy

인증을 위해 사용자는 Python용 Snowflake Connector 가 지원하는 것과 동일한 메커니즘을 사용합니다.

Python용 Snowflake Connector의 connect 함수에서 사용하는 것과 동일한 매개 변수(예: 계정 이름, 사용자 이름 등)를 사용하여 Snowflake 데이터베이스와 함께 세션을 설정합니다. 자세한 내용은 Python Connector API 설명서에서 연결 함수에 대한 매개 변수 를 참조하십시오.

connections.toml 파일을 사용하여 연결

연결 구성 파일에 자격 증명을 추가하려면 다음을 수행하십시오.

  1. 텍스트 편집기에서 편집할 connections.toml 파일을 엽니다. 예를 들어 Linux vi 편집기에서 파일을 열려면 다음을 수행하십시오.

    $ vi connections.toml
    
    Copy
  2. 새 Snowflake 연결 정의를 추가합니다.

    예를 들어 계정 myaccount, 사용자 johndoe, 비밀번호 자격 증명, 데이터베이스 정보를 사용하여 myconnection 이라는 Snowflake 연결을 추가하려면 구성 파일에 다음 줄을 추가하십시오.

    [myconnection]
    account = "myaccount"
    user = "jdoe"
    password = "******"
    warehouse = "my-wh"
    database = "my_db"
    schema = "my_schema"
    
    Copy

    연결 정의는 snowflake.connector.connect 메서드에서 사용할 수 있는 옵션과 동일한 구성 옵션을 지원합니다.

  3. 선택 사항: 다음과 같이 연결을 더 추가합니다.

    [myconnection_test]
    account = "myaccount"
    user = "jdoe-test"
    password = "******"
    warehouse = "my-test_wh"
    database = "my_test_db"
    schema = "my_schema"
    
    Copy
  4. 파일 변경 사항을 저장합니다.

  5. Python 코드에서 다음과 같이 snowflake.connector.connect 에 연결 이름을 지정한 다음 session 에 추가합니다.

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

자세한 내용은 구성 파일 섹션을 참조하십시오.

연결 매개 변수를 지정하여 연결

이러한 매개 변수(예: account, user, role, warehouse, database, schema 등)의 이름과 값을 포함하는 사전(dict)을 생성합니다.

세션을 만들려면 다음을 수행하십시오.

  1. Snowflake에 연결하기 위한 매개 변수의 이름과 값이 포함된 Python 사전(dict)을 만듭니다.

  2. 이 사전을 Session.builder.configs 메서드에 전달하여 이러한 연결 매개 변수가 있는 빌더 오브젝트를 반환합니다.

  3. buildercreate 메서드를 호출하여 세션을 설정합니다.

다음 예에서는 연결 매개 변수가 포함된 dict 를 사용하여 새 세션을 만듭니다.

connection_parameters = {
   "account": "<your snowflake account>",
   "user": "<your snowflake user>",
   "password": "<your snowflake password>",
   "role": "<your snowflake role>",  # optional
   "warehouse": "<your snowflake warehouse>",  # optional
   "database": "<your snowflake database>",  # optional
   "schema": "<your snowflake schema>",  # optional
   }

new_session = Session.builder.configs(connection_parameters).create()
Copy

account 매개 변수에 계정 식별자 를 사용합니다. 계정 식별자에는 snowflakecomputing.com 접미사가 포함되지 않는다는 점에 유의하십시오.

참고

이 예제에서는 세션을 만드는 한 가지 방법을 보여주지만 기본 인증자, Single Sign-On(SSO), 다단계 인증(MFA), 키 페어 인증, 프록시 서버 사용, OAuth를 포함하여 연결할 수 있는 다른 여러 방법이 있습니다. 자세한 내용은 Python 커넥터를 사용하여 Snowflake에 연결하기 섹션을 참조하십시오.

웹 브라우저를 통한 Single Sign-On(SSO) 사용하기

Snowflake에서 Single Sign-On(SSO) 을 사용하도록 구성한 경우, 브라우저 기반 SSO를 사용하여 인증하도록 클라이언트 애플리케이션을 구성할 수 있습니다.

이러한 매개 변수(예: account, user, role, warehouse, database, authenticator 등)의 이름과 값을 포함하는 사전(dict)을 생성합니다.

세션을 만들려면 다음을 수행하십시오.

  1. Snowflake에 연결하기 위한 매개 변수의 이름과 값이 포함된 Python 사전(dict)을 만듭니다.

  2. 이 사전을 Session.builder.configs 메서드에 전달하여 이러한 연결 매개 변수가 있는 빌더 오브젝트를 반환합니다.

  3. buildercreate 메서드를 호출하여 세션을 설정합니다.

다음 예에서는 연결 매개 변수가 포함된 dict 를 사용하여 새 세션을 생성합니다. authenticator 옵션을 externalbrowser 로 설정합니다.

from snowflake.snowpark import Session
connection_parameters = {
   "account": "<your snowflake account>",
   "user": "<your snowflake user>",
   "role":"<your snowflake role>",
   "database":"<your snowflake database>",
   "schema":"<your snowflake schema",
   "warehouse":"<your snowflake warehouse>",
   "authenticator":"externalbrowser"
}
session = Session.builder.configs(connection_parameters).create()
Copy

세션 닫기

쿼리 실행을 위해 더 이상 세션을 사용할 필요가 없고, 현재 실행 중인 쿼리를 취소하려면 Session 오브젝트의 close 메서드를 호출하십시오. 예:

new_session.close()
Copy