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:
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.