Zum Hauptinhalt springen
Version: 5.6

Snowflake Stored Procedure

Das Transferobjekt Snowflake Stored Procedure ruft eine gespeicherte Prozedur in der Snowflake AI Data Cloud auf. Eingabeparameter, Rückgabewerte und gegebenenfalls ein Result-Set können dabei innerhalb der Verbindung als Ziele oder Quellen genutzt werden.

Dialogübersicht

Konfigurationsdialog des Transferobjekts „Snowflake Stored Procedure“ mit der Beispiel-Prozedur SP_LOG_TELEMETRY

Allgemeine Eigenschaften

EigenschaftBeschreibung
DatenquelleHier stehen alle im Bereich Plug-ins erstellten Snowflake-Anbindungen zur Auswahl. Sollte die gewünschte Anbindung noch nicht vorhanden sein, können Sie diese im Plug-ins-Bereich als „Snowflake AI Data Cloud”-Plug-in bereitstellen.
Stored ProcedureAuszuführende gespeicherte Prozedur.
Spalten/ParameterEingabe- und Rückgabeparameter der Prozedur, die als Quellen oder Ziele am Transferobjekt angebunden werden sollen.
Resultset abfragenWerden Rückgabewerte in Form eines Result-Sets erwartet, können diese über Resultset abfragen ausgelesen und anschließend als Quelle am Transferobjekt bereitgestellt werden.

Besonderheiten im OPC Router

  • Der OPC Router liest die verfügbaren Parameter der Prozedur aus und stellt sie im Transferobjekt als verwendbare Elemente bereit.
  • Wird Resultset abfragen ausgeführt, ruft der OPC Router die Prozedur einmalig auf, um die Struktur des Result-Sets zu ermitteln. Dieser Aufruf erfolgt innerhalb einer Transaktion, die anschließend zurückgerollt wird.
  • Zur Strukturermittlung ruft der OPC Router die Prozedur mit Standardparametern auf (NULL; bei Parametern ohne NULL-Zulässigkeit z. B. 0 für numerische Werte oder ein leerer String für Zeichenketten).
warnung

Die Prozedur muss transaktionssicher sein und darf beim Standardaufruf zur Strukturerkennung keine Fehler zurückgeben.

Beispiel

Die folgende gespeicherte Prozedur schreibt einen Telemetrie-Messwert in die Tabelle MACHINE_TELEMETRY und gibt abhängig von der Temperatur einen Status zurück. Das oben gezeigte Transferobjekt ist für diese Prozedur konfiguriert.

CREATE OR REPLACE PROCEDURE PRODUCTION.SP_LOG_TELEMETRY(
MACHINE_ID VARCHAR,
TEMPERATURE FLOAT,
PRESSURE FLOAT
)
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
BEGIN
INSERT INTO MACHINE_TELEMETRY (MACHINE_ID, TEMPERATURE, PRESSURE, INGESTED_AT)
VALUES (:MACHINE_ID, :TEMPERATURE, :PRESSURE, CURRENT_TIMESTAMP());

IF (:TEMPERATURE > 80) THEN
RETURN 'WARN_HIGH_TEMP';
ELSE
RETURN 'OK';
END IF;
END;
$$;

Im Transferobjekt binden Sie die drei Eingabeparameter (MACHINE_ID, TEMPERATURE, PRESSURE) als Ziele an; der Rückgabewert steht als Quelle zur Verfügung. Die Prozedur ist transaktionssicher: Beim Standardaufruf zur Strukturerkennung wird lediglich ein Datensatz mit Standardwerten eingefügt und wieder zurückgerollt, und es wird OK zurückgegeben.