Einführung in die SQL-API

Die Snowflake-SQL-API ist eine REST-API , mit der Sie auf Daten in einer Snowflake-Datenbank zugreifen und diese aktualisieren können. Sie können diese API verwenden, um eigene Anwendungen und Integrationen für folgende Aufgaben zu entwickeln:

  • Ausführen von Abfragen

  • Verwalten Ihrer Implementierung (z. B. Bereitstellung von Benutzern und Rollen, Erstellen von Tabellen usw.).

Unter diesem Thema:

Fähigkeiten und Möglichkeiten der SQL-API

Die Snowflake-SQL-API bietet Operationen, die Sie für Folgendes verwenden können:

  • Übermitteln von SQL-Anweisungen zur Ausführung

  • Überprüfen des Ausführungsstatus von Anweisungen

  • Abbrechen der Ausführung von Anweisungen

  • Gleichzeitiges Abrufen von Abfrageergebnissen

Sie können diese API verwenden, um Standardabfragen und die meisten DDL- und DML-Anweisungen auszuführen. Weitere Informationen zu Typen von Anweisungen, die nicht unterstützt werden, finden Sie unter Einschränkungen der SQL-API.

Bei Abfragen gibt die SQL-API die Daten in Partitionen zurück. Snowflake bestimmt die Anzahl der zurückgegebenen Partitionen und die Größe der einzelnen Partitionen.

Der Endpunkt der SQL-API (/api/v2/statements) ist durch die Netzwerkrichtlinien geschützt, die den Zugriff auf Konten mit aktivierter API einschränken.

Bemerkung

Der Parameter AUTOCOMMIT muss auf Abfrage- oder Anweisungsebene auf TRUE gesetzt werden, unabhängig von dem auf Benutzer- oder Kontoebene eingestellten Wert.

Einschränkungen der SQL-API

Die SQL-API weist folgende Einschränkungen auf:

  • Die folgenden Befehle werden nicht unterstützt:

    • Der Befehl PUT (in Snowflake SQL)

    • Der Befehl GET (in Snowflake SQL)

Die folgenden Befehle und Anweisungen werden nur innerhalb einer Anforderung unterstützt, die mehrere Anweisungen angibt:

  • Befehle, die explizite Transaktionen ausführen, einschließlich:

  • Befehle, die den Kontext der Sitzung ändern, einschließlich:

  • Anweisungen, die Sitzungsvariablen festlegen

  • Anweisungen, die temporäre Tabellen und Stagingbereiche erstellen (Tabellen und Stagingbereiche, die nur in der aktuellen Sitzung verfügbar sind)

Die SQL API unterstützt bestimmte Arten von gespeicherten Prozeduren nicht. Es kann zu Fehlern kommen, wenn Sie z. B. versuchen, gespeicherte Prozeduren in Python und Java/Scala aufzurufen, die eine resultset im Arrow-Format zurückgeben. Selbst wenn Sie diese gespeicherten Prozeduren nicht direkt von SQL API aus aufrufen, sondern eine andere gespeicherte Prozedur, wie z. B. SQL, können Fehler auftreten, wenn die äußere Prozedur intern eine innere Python- oder Java/Scala gespeicherte Prozedur aufruft.

Hinweise zur Abrechnung bei Verwendung der SQL-API

Beim Abrufen bestimmter Abfrageergebnisse nutzt die SQL-API die Clouddienstschicht. Weitere Informationen zu Clouddiensten finden Sie unter Credit-Nutzung für Clouddienste.