Snowflake Python APIs: Verwalten von Snowflake-Objekten mit Python

Das Snowflake Python APIs-Paket ist eine einheitliche Bibliothek, die eine nahtlose Verbindung zwischen Python und Snowflake-Workloads herstellt. Es ist vorgesehen, umfassende APIs für die Interaktion mit zentralen Snowflake-Ressourcen über Data Engineering, Snowpark, Snowpark ML und Anwendungs-Workloads hinweg bereitzustellen, ohne dass API-Befehle verwendet werden müssen.

Unter Snowflake Python APIs können Sie Snowflake-Ressourcen verwalten, indem Sie sie erstellen, löschen oder ändern und vieles mehr. Sie können Python verwenden, um Aufgaben auszuführen, die Sie sonst mit Snowflake -SQL-Befehlen ausgeführt werden müssten.

Das folgende Diagramm zeigt die allgemeine Paketstruktur der Snowflake Python APIs:

Abbildung, die die allgemeine Paketstruktur der Snowflake-Python-APIs zeigt

Weitere Informationen über API, einschließlich seiner allgemeinen Konzepte und Muster, finden Sie unter Snowflake Python APIs: Allgemeine Konzepte.

Unterstützte Snowflake-Ressourcenobjekte

Mit Snowflake Python APIs können Sie derzeit die folgenden Objekte der Snowflake-Ressourcenobjekte verwalten (in Klammern die minimal erforderliche Version von API):

Python-Ökosystem in Snowflake

Die Snowflake Python APIs, die Snowpark-API für Python und der Snowflake Connector für Python sind Weboberflächen, die in Snowflake jeweils einen bestimmten Zweck erfüllen. In diesem Abschnitt werden die Unterschiede erklärt und die typischen Anwendungsfälle für beide beschrieben.

Snowflake Python APIs

Sie können diesen Satz erstklassiger Python-APIs verwenden, um Kernressourcen (wie Tabellen, Warehouses und Aufgaben) in Snowflake-Workloads zu definieren und zu verwalten. Anders als der Python-Konnektor interagieren diese APIs mit Snowflake unter Verwendung von nativem Python, ohne dass SQL verwendet werden muss.

Das Snowflake Python APIs-Paket vereint alle Snowflake Python-Bibliotheken (einschließlich connector, core, snowpark und ml), so dass Sie einfach mit dem Befehl pip install snowflake starten können.

Dem deklarativen Programmieransatz folgend, kann dieses API als DevOps-Tool verwendet werden, um Änderungen an Ihren Ressourcen zu verwalten und die Bereitstellung von Code und Infrastruktur in Snowflake zu automatisieren.

Snowpark

Mit diesem Satz von Bibliotheken und Codeausführungsumgebungen können Sie Python und andere Programmiersprachen neben Ihren Daten in Snowflake ausführen.

  • Bibliotheken: Mit Snowpark API können Sie Snowpark-DataFrames in Ihrem Code verwenden, um Daten komplett innerhalb von Snowflake abzufragen und zu transformieren. Snowpark-Anwendungen verarbeiten Ihre Daten in großem Umfang direkt auf der Snowflake-Engine, ohne die Daten auf das System zu übertragen, auf dem Ihr Anwendungscode ausgeführt wird.

    Die Snowpark-API ist in Python, Java und Scala verfügbar.

  • Code-Ausführungsumgebungen: Snowpark-Laufzeitumgebungen unterstützen Container-Images sowie Python-, Java- und Scala-Code.

    • Sie können benutzerdefinierten Python-Code über benutzerdefinierte Python-Funktionen (UDFs) oder gespeicherte Prozeduren ausführen, um Datenpipelines, Apps und mehr zu erstellen. Python-Laufzeitumgebungen haben Zugriff auf ein Paket-Repository und einen Paketmanager von Anaconda.

      Laufzeitumgebungen sind auch in Scala und Java verfügbar.

    • Sie können containerisierte Anwendungen direkt innerhalb von Snowflake mit Snowpark Container Services ausführen.

Snowflake Connector für Python

Verwenden Sie diesen SQL-Treiber, um eine Verbindung zu Snowflake herzustellen, SQL-Anweisungen auszuführen und dann die Ergebnisse über einen Python-Client abzurufen.

Mit dem Python-Konnektor schreiben Sie alle Ihre Interaktionen mit Snowflake unter Verwendung von SQL-Anweisungszeichenfolgen.

Erste Schritte mit Snowflake Python APIs

Um mit der Verwendung von Snowflake Python APIs zu beginnen, lesen Sie die Anweisungen in den folgenden Themen:

  1. Installieren der Bibliothek.

  2. Verbindung zu Snowflake.

Tutorials für die ersten Schritte mit Snowflake Python APIs finden Sie unter Tutorials: Erste Schritte mit dem Snowflake Python APIs.

Unterstützte Python-Versionen

Folgende Versionen von Python werden unterstützt:

  • 3.9

  • 3.10

  • 3.11

  • 3,12

Entwicklerhandbücher

Benutzerhandbuch

Beschreibung

Installieren der Snowflake Python APIs-Bibliothek

Installieren Sie das Snowflake Python APIs-Paket.

Verbinden mit Snowflake mit dem Snowflake Python APIs

Herstellen einer zu Snowflake aus Python-Code.

Verwalten von Snowflake-Konten und verwaltete Konten mit Python

Verwenden der API, um Konten und verwaltete Konten zu erstellen und zu verwalten.

Verwalten von Snowflake-Benachrichtigungen mit Python

Verwenden der API, um Benachrichtigungen zu erstellen und zu verwalten.

Verwalten des Ladens von Daten und des Entladens von Ressourcen mit Python

Verwenden der API, um Ressourcen zum Laden und Entladen von Daten zu erstellen und zu verwalten, einschließlich externer Volumes, Pipes und Stagingbereiche.

Verwalten von Snowflake-Datenbanken, Schemas, Tabellen und Ansichten mit Python

Verwenden der API, um Datenbanken, Schemas und Tabellen zu erstellen und zu verwalten.

Verwalten von dynamischen Snowflake-Tabellen mit Python

Verwenden der API, um dynamische Tabellen zu erstellen und zu verwalten.

Verwalten von Snowflake-Funktionen und gespeicherten Prozeduren mit Python

Verwenden der API, um benutzerdefinierte Funktionen (UDFs) und gespeicherte Prozeduren zu erstellen und zu verwalten.

Verwalten von Snowflake-Integrationen mit Python

Verwenden der API, um Katalogintegrationen und Benachrichtigungen zu erstellen und zu verwalten.

Verwalten von Snowflake-Netzwerkrichtlinien mit Python

Verwenden der API, um Netzwerkrichtlinien zu erstellen und zu verwalten.

Verwaltem von Snowflake Notebooks mit Python

Verwenden der API, um Snowflake Notebooks zu erstellen und zu verwalten.

Verwalten von Snowpark Container Services (einschließlich Dienstfunktionen) mit Python

Verwenden der API, um die Komponenten der Snowpark Container Services zu verwalten, einschließlich Computepools, Image-Repositorys, Diensten und Dienstfunktionen.

Verwalten von Snowflake-Streams mit Python

Verwenden der API, um Streams zu erstellen und zu verwalten.

Verwalten von Snowflake-Aufgaben und Task-Graphen mit Python

Verwenden der API zum Erstellen, Ausführen und Verwalten von Aufgaben und Task-Graphen.

Verwalten von Snowflake-Benutzern, Rollen und Berechtigungen mit Python

Verwenden der API, um Benutzer, Rollen und Berechtigungen zu erstellen und zu verwalten.

Verwalten von virtuellen Snowflake-Warehouses mit Python

Verwenden der API, um virtuelle Warehouses zu erstellen und zu verwalten.

Referenzen

Snowflake-Python-APIs-Referenz

Kosten für den Zugriff auf Snowflake

Um die Kosten zu senken, sowohl für die Credit-Nutzung als auch für die Aktivität im Netzwerk, ist Snowflake Python APIs so konzipiert, dass sie nur dann mit Snowflake kommuniziert, wenn Sie Methoden aufrufen, die für die Synchronisierung mit Snowflake vorgesehen sind.

Bei den Objekten in API handelt es sich entweder um lokale Referenzen (oder Handles) oder um Snapshots des in Snowflake gespeicherten Zustands. Wenn Sie die Informationen verarbeiten, die von Snowflake abgerufen wurden, geschieht dies im Allgemeinen über ein lokales In-Memory-Referenzobjekt.

Diese Referenzen werden erst dann mit Snowflake synchronisiert, wenn Sie eine Methode aufrufen. Wenn Sie eine Methode aufrufen, entstehen Ihnen in der Regel Kosten sowohl durch den Verbrauch von Credits als auch durch Netzwerkaktivitäten. Wenn Sie dagegen speicherinterne Referenzen verwenden, z. B. beim Zugriff auf Attribute, erfolgt die Ausführung lokal und verursacht keine solchen Kosten.