Zum Hauptinhalt springen

Snowflake Stored Procedure-Transferobjekt

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 des Flows 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).
hinweis

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.