- Kategorien:
<service_name>!SPCS_WAIT_FOR¶
Wartet darauf, dass der Snowpark Container Services-Service den angegebenen Zustand mit einem Timeout erreicht.
Wenn Sie einen asynchronen Job ausführen, verwenden Sie diese Hilfsfunktion, um auf den Abschluss des Jobs zu warten.
Wenn Sie einen Dienst erstellen, verwenden Sie diese Hilfsfunktion, um zu warten, bis der Dienst ausgeführt wird.
Syntax¶
<service_name>!SPCS_WAIT_FOR( <status>, <timeout_sec> );
Argumente¶
Erforderliche Argumente
'status'
Status, auf den gewartet werden soll. Eine Liste der Dienststatuswerte finden Sie im Ausgabeabschnitt des Befehls DESCRIBE SERVICE.
timeout_sec
Die maximale Dauer in Sekunden, für die auf den angegebenen Status gewartet werden soll. Wenn der angegebene Status nicht innerhalb des Timeouts erreicht wird, gibt die Funktion eine Fehlermeldung zurück, die den aktuellen Dienststatus enthält.
Rückgabewerte¶
Wenn der Dienst den angegebenen Status nicht innerhalb des Timeouts erreicht oder Snowflake feststellt, dass der Status nie erreicht werden kann, gibt die Funktion eine Fehlermeldung zurück, die auch den aktuellen Status des Dienstes angibt. Andernfalls wird eine Erfolgsnachricht zurückgegeben.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens eine der folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
Jede dieser Berechtigungen: OWNERSHIP, USAGE, MONITOR oder OPERATE |
Dienst |
USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Beispiele¶
Warten Sie zwei Minuten ab, bis der angegebene Job abgeschlossen ist (Jobstatus ist DONE).
CALL my_job!spcs_wait_for('DONE', 120)
Warten Sie drei Minuten ab, bis der angegebene Service gestartet ist (Jobstatus ist RUNNING).
CALL my_service!SPCS_WAIT_FOR('RUNNING', 180)