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
Copy

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:

  1. Ö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
    
    Copy
  2. Fügen Sie eine neue Snowflake-Verbindungsdefinition hinzu.

    Um beispielsweise eine Snowflake-Verbindung namens myconnection mit dem Konto myaccount, dem Benutzer johndoe 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"
    
    Copy

    Verbindungsdefinitionen unterstützen die gleichen Konfigurationsoptionen, die auch in der snowflake.connector.connect-Methode verfügbar sind.

  3. 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"
    
    Copy
  4. Speichern Sie die Änderungen in der Datei.

  5. Geben Sie in Ihrem Python-Code den Verbindungsnamen an snowflake.connector.connect weiter und fügen Sie ihn dann session hinzu, ähnlich wie im Folgenden:

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

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:

  1. Erstellen Sie ein Python-Wörterbuch (dict), das die Namen und Werte der Parameter für die Verbindung mit Snowflake enthält.

  2. Übergeben Sie dieses Wörterbuch an die Methode Session.builder.configs, um ein Erstellungsobjekt zurückzugeben, das diese Verbindungsparameter enthält.

  3. Rufen Sie die create-Methode des builder-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()
Copy

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:

  1. Erstellen Sie ein Python-Wörterbuch (dict), das die Namen und Werte der Parameter für die Verbindung mit Snowflake enthält.

  2. Übergeben Sie dieses Wörterbuch an die Methode Session.builder.configs, um ein Erstellungsobjekt zurückzugeben, das diese Verbindungsparameter enthält.

  3. Rufen Sie die create-Methode des builder-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()
Copy

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()
Copy