Ressource deaktivieren¶
Das Deaktivieren einer Ressource wird verwendet, um die Datenaufnahme für eine bestimmte Ressource zu stoppen. Die PUBLIC.DISABLE_RESOURCE
-Prozedur ist der Einstiegspunkt von UI oder dem Arbeitsblatt, um eine Ressource zu deaktivieren.
Der Aufruf dieser Prozedur setzt voraus, dass dem Benutzer die ADMIN
-Anwendungsrolle zugewiesen wurde.
Der Prozess der Deaktivierung von Ressourcen besteht aus mehreren Phasen. Mehrere davon sind anpassbar, enthalten aber vernünftige Standardeinstellungen. Die Phasen sind:
Erstvalidierung
Benutzerdefinierte Logik, bevor eine Ressource deaktiviert wird
Beenden aktiver Aufnahmeprozesse und Markieren der Datenaufnahmedefinition der Ressource als deaktiviert
Benutzerdefinierte Logik nach der Erstellung einer Ressource
Erstvalidierung¶
Die Erstvalidierung wird gleich zu Beginn des Prozesses zur Deaktivierung von Ressourcen durchgeführt, und es wird überprüft:
ob eine Ressource mit der angegebenen ID existiert
ob eine Ressource mit der angegebenen ID bereits deaktiviert ist
Wenn eine Ressource zuvor deaktiviert war, wird nichts unternommen und eine Erfolgs-Antwort zurückgegeben.
Benutzerdefinierte Logik, bevor eine Ressource deaktiviert wird¶
Dieser Schritt kann verwendet werden, um eine eigene Logik zu implementieren, bevor eine Ressource deaktiviert wird.
Standardmäßig wird PUBLIC.PRE_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
aufgerufen, das 'response_code': 'OK'
zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von DisableResourceHandlerBuilder
überschrieben werden, um eine kundenspezifische Implementierung der PreDisableResourceCallback
-Schnittstelle bereitzustellen.
Wenn die benutzerdefinierte Logik einen Fehler ergibt, werden die nächsten Schritte nicht ausgeführt, und die angegebene Fehlerantwort wird von der DISABLE_RESOURCE
-Prozedur zurückgegeben.
Beenden aktiver Aufnahmeprozesse und Markieren der Datenaufnahmedefinition der Ressource als deaktiviert¶
In diesem Schritt werden alle Aufnahmeprozesse mit dem Status SCHEDULED
oder IN_PROGRESS
abgeschlossen, so dass die nächste Iteration der Aufnahme für eine bestimmte Ressource nicht ausgeführt wird. Dann wird das enabled
-Flag der Datenaufnahmedefinition der Ressource in false
geändert.
Bemerkung
Die Implementierung des Prozesses zur Ressourcendeaktivierung stoppt nicht die aktuell ausgeführte Datenaufnahme. Sie verhindert nur die Ausführung der nächsten Iteration der Datenaufnahme. Wenn das Stoppen einer laufenden Datenaufnahme erforderlich ist, müssen Sie Benutzerdefinierte Logik implementieren, nachdem eine Ressource deaktiviert wurde.
Benutzerdefinierte Logik, nachdem eine Ressource deaktiviert wurde¶
Sie kann verwendet werden, um eine eigene Logik zu implementieren, nachdem eine Ressource deaktiviert wurde. Sie können damit zum Beispiel die laufende Datenaufnahme einer bestimmten Ressource stoppen.
Standardmäßig wird PUBLIC.POST_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
aufgerufen, das 'response_code': 'OK'
zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von DisableResourceHandlerBuilder
überschrieben werden, um eine kundenspezifische Implementierung der PostDisableResourceCallback
-Schnittstelle bereitzustellen.
Wenn die benutzerdefinierte Logik einen Fehler liefert, werden die folgenden Schritte nicht ausgeführt, und die angegebene Fehlerantwort wird von der DISABLE_RESOURCE
-Prozedur zurückgegeben.
Antwort¶
Erfolgreiche Antwort¶
Wenn die Prozedur erfolgreich war, erhalten Sie eine Antwort, die der Folgenden ähnelt:
{ "response_code": "OK" }
Fehlerantwort¶
Bei Fehlern in der Prozedur wird eine Antwort ähnlich der Folgenden zurückgegeben:
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Mögliche Fehlercodes sind:
INVALID_INPUT
- Ressource mit der angegebenen ID der Datenaufnahmedefinition der Ressource existiert nicht.DISABLE_RESOURCE_ERROR
- Bei der Aktualisierung der Datenaufnahmedefinition der Ressource oder beim Abschluss von Aufnahmeprozessen ist etwas Unerwartetes aufgetreten. Alle Änderungen werden rückgängig gemacht.