Creating a Session for Snowpark Python¶
To use Snowpark in your application, you need to create a session. For convenience in writing code, you can also import the names of packages and objects.
Creating a Session¶
The first step in using the library is establishing a session with the Snowflake database.
Import the Session class.
To authenticate, you use the same mechanisms that the Snowflake Connector for Python supports.
Establish a session with a Snowflake database using the same parameters (for example, the account name, user name, etc.) that you use in the connect
function in the Snowflake
Connector for Python. For more information, see the parameters for the connect function in the Python Connector API documentation.
Construct a dictionary (dict
) containing the names and values of these parameters
(e.g. account
, user
, role
, warehouse
, database
, schema
, etc.).
To create the session:
Create a Python dictionary (
dict
) containing the names and values of the parameters for connecting to Snowflake.Pass this dictionary to the
Session.builder.configs
method to return a builder object that has these connection parameters.Call the
create
method of thebuilder
to establish the session.
The following example uses a dict
containing connection parameters to create a new session:
For the account
parameter, use your account identifier. Note that the account identifier does not include the snowflakecomputing.com suffix.
Note
This example shows you one way to create a session but there are several other ways that you can connect, including: the default authenticator, single sign-on (SSO), multi-factor authentication (MFA), key pair authentication, using a proxy server, and OAuth. For more information, see Using the Python Connector.
>>> from snowflake.snowpark import Session
>>> 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()
Closing a Session¶
If you no longer need to use a session for executing queries and you want to cancel any queries that are currently running, call the close method of the Session object. For example:
>>> new_session.close()