Erstellen einer Sitzung für Snowpark Python¶
Für die Verwendung von Snowpark in Ihrer Anwendung müssen Sie zuerst eine Sitzung erstellen. Um das Schreiben von Code zu erleichtern, können Sie auch die Namen von Packages und Objekten importieren.
Unter diesem Thema:
Erstellen einer Sitzung¶
Der erste Schritt zur Verwendung der Bibliothek ist das Einrichten einer Sitzung mit der Snowflake-Datenbank.
Importieren Sie die Session-Klasse.
from snowflake.snowpark import Session
Zur Authentifizierung verwenden Sie die gleichen Mechanismen, die vom Snowflake-Konnektor für Python unterstützt werden.
Richten Sie die Sitzung mit einer Snowflake-Datenbank und unter Verwendung denselben Parametern (z. B. Kontoname, Benutzername) ein, die Sie in der connect
-Funktion des Snowflake-Konnektors für Python verwenden. Weitere Informationen dazu finden Sie in der Dokumentation zur Python-Konnektor-API unter Parameter für die Connect-Funktion.
Verbindung über die connections.toml
-Datei¶
So fügen Sie Anmeldeinformationen in eine Verbindungskonfigurationsdatei ein:
Öffnen Sie die Datei
connections.toml
in einem Texteditor, um sie zu bearbeiten. Öffnen Sie beispielsweise die Datei mit dem Linux-Editor vi wie folgt:$ vi connections.toml
Fügen Sie eine neue Snowflake-Verbindungsdefinition hinzu.
Um beispielsweise eine Snowflake-Verbindung namens
myconnection
mit dem Kontomyaccount
, dem Benutzerjohndoe
und Anmeldeinformationen sowie Kennwort-Datenbankinformationen hinzuzufügen, fügen Sie die folgenden Zeilen in die Konfigurationsdatei ein:[myconnection] account = "myaccount" user = "jdoe" password = "******" warehouse = "my-wh" database = "my_db" schema = "my_schema"
Verbindungsdefinitionen unterstützen die gleichen Konfigurationsoptionen, die auch in der snowflake.connector.connect-Methode verfügbar sind.
Optional: Fügen Sie weitere Verbindungen wie folgt hinzu:
[myconnection_test] account = "myaccount" user = "jdoe-test" password = "******" warehouse = "my-test_wh" database = "my_test_db" schema = "my_schema"
Speichern Sie die Änderungen in der Datei.
Geben Sie in Ihrem Python-Code den Verbindungsnamen an
snowflake.connector.connect
weiter und fügen Sie ihn dannsession
hinzu, ähnlich wie im Folgenden:session = Session.builder.config("connection_name", "myconnection").create()
Weitere Informationen finden Sie unter Konfigurationsdatei.
Stellen Sie die Verbindung her durch Angabe von Verbindungsparametern¶
Erstellen Sie ein Wörterbuch (dict
), das die Namen und Werte dieser Parameter enthält (z. B. account
, user
, role
, warehouse
, database
, schema
usw.).
So erstellen Sie die Sitzung:
Erstellen Sie ein Python-Wörterbuch (
dict
), das die Namen und Werte der Parameter für die Verbindung mit Snowflake enthält.Übergeben Sie dieses Wörterbuch an die Methode
Session.builder.configs
, um ein Erstellungsobjekt zurückzugeben, das diese Verbindungsparameter enthält.Rufen Sie die
create
-Methode desbuilder
-Objekts auf, um die Sitzung einzurichten.
Im folgenden Beispiel wird ein Wörterbuch (dict
) mit Verbindungsparametern verwendet, um eine neue Sitzung zu erstellen:
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()
Verwenden Sie für den Parameter account
Ihren Kontobezeichner. Beachten Sie, dass der Kontobezeichner nicht das Suffix „snowflakecomputing.com“ enthält.
Bemerkung
In diesem Beispiel wird eine Möglichkeit gezeigt, eine Sitzung zu erstellen, aber es gibt noch mehrere andere Möglichkeiten zum Herstellen einer Verbindung wie den Standardauthentifikator, Single Sign-On (SSO), mehrstufige Authentifizierung (MFA), Schlüsselpaar-Authentifizierung, Verwendung eines Proxyservers oder OAuth. Weitere Informationen dazu finden Sie unter Verbinden mit Snowflake mit dem Python-Konnektor.
Verwenden von Single Sign-on (SSO) über einen Webbrowser¶
Wenn Sie Snowflake für die Verwendung von Single Sign-On (SSO) konfiguriert haben, können Sie Ihre Clientanwendung so konfigurieren, dass browserbasiertes SSO für die Authentifizierung verwendet wird.
Erstellen Sie ein Wörterbuch (dict
), das die Namen und Werte dieser Parameter enthält (z. B. account
, user
, role
, warehouse
, database
, authenticator
usw.).
So erstellen Sie die Sitzung:
Erstellen Sie ein Python-Wörterbuch (
dict
), das die Namen und Werte der Parameter für die Verbindung mit Snowflake enthält.Übergeben Sie dieses Wörterbuch an die Methode
Session.builder.configs
, um ein Erstellungsobjekt zurückzugeben, das diese Verbindungsparameter enthält.Rufen Sie die
create
-Methode desbuilder
-Objekts auf, um die Sitzung einzurichten.
Im folgenden Beispiel wird ein Wörterbuch (dict
) mit Verbindungsparametern verwendet, um eine neue Sitzung zu erstellen. Setzen Sie die Option authenticator
auf 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()
Schließen einer Sitzung¶
Wenn Sie eine Sitzung nicht mehr für die Ausführung von Abfragen benötigen oder alle aktiven Abfragen abbrechen möchten, rufen Sie die Close-Methode des Session-Objekts auf. Beispiel:
new_session.close()