Ressource freigeben

Die Aktivierung einer Ressource wird verwendet, um mit der Datenaufnahme für eine bestimmte Ressource zu beginnen. Die PUBLIC.ENABLE_RESOURCE-Prozedur ist der Einstiegspunkt von UI oder einem Arbeitsblatt, um eine Ressource zu aktivieren. Es kann verwendet werden, nachdem eine Ressource deaktiviert wurde oder wenn eine Ressource als deaktiviert erstellt wurde und nun aktiviert werden soll.

Der Aufruf dieser Prozedur setzt voraus, dass dem Benutzer die Anwendungsrolle ADMIN zugewiesen wurde. Die Phasen sind:

  1. Erstvalidierung

  2. Benutzerdefinierte Validierung

  3. Benutzerdefinierte Logik vor Aktivierung einer Ressource

  4. Markieren einer Datenaufnahmedefinition der Ressource als aktiviert und Erstellen neuer Aufnahmeprozesse

  5. Benutzerdefinierte Logik nach der Erstellung einer Ressource

Erstvalidierung

Die Erstvalidierung wird gleich zu Beginn des Prozesses zur Aktivierung 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 aktiviert ist

Wenn eine Ressource bereits aktiviert ist, wird nichts unternommen und eine Erfolgs-Antwort zurückgegeben.

Benutzerdefinierte Validierung

Die benutzerdefinierte Validierung wird nach der Erstvalidierung ausgeführt und ist so konzipiert, dass sie die kundenspezifische Logik des Konnektors unterstützt. So können Sie z. B. überprüfen, ob eine bestimmte Ressource in einem Quellsystem noch vorhanden ist.

Standardmäßig wird PUBLIC.ENABLE_RESOURCE_VALIDATE(resource_ingestion_definition_id) aufgerufen, das 'response_code': 'OK' zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von EnableResourceHandlerBuilder überschrieben werden, um eine kundenspezifische Implementierung der EnableResourceValidator-Schnittstelle bereitzustellen.

Wenn die benutzerdefinierte Validierung einen Fehler ergibt, werden die nächsten Schritte nicht ausgeführt, und die angegebene Antwort wird von der ENABLE_RESOURCE-Prozedur zurückgegeben.

Benutzerdefinierte Logik vor Aktivierung einer Ressource

Eine benutzerdefinierte Logik kann angegeben und ausgeführt werden, bevor eine Ressource aktiviert wird.

Standardmäßig wird PUBLIC.PRE_ENABLE_RESOURCE(resource_ingestion_definition_id VARCHAR) aufgerufen, das 'response_code': 'OK' zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von EnableResourceHandlerBuilder überschrieben werden, um eine kundenspezifische Implementierung der PreEnableResourceCallback-Schnittstelle bereitzustellen.

Wenn die benutzerdefinierte Logik einen Fehler ausgibt, werden die folgenden Schritte nicht ausgeführt, und es wird eine Fehlerantwort von der ENABLE_RESOURCE-Prozedur zurückgegeben.

Markieren einer Datenaufnahmedefinition der Ressource als aktiviert und Erstellen neuer Aufnahmeprozesse

In diesem Schritt wird das enabled-Flag für die Datenaufnahmedefinition der Ressource in true geändert, und es wird ein neuer Aufnahmeprozess für jede Aufnahmekonfiguration erstellt. Aufnahmeprozesse werden mit dem SCHEDULED-Status erstellt, was bedeutet, dass die Aufnahme eine Weile später beginnt. Wenn ein neuer Aufnahmeprozess wird, wird die Spalte mit den Metadaten vom zuletzt beendeten Prozess mit der gegebenen Aufnahmekonfigurations-ID geerbt.

Benutzerdefinierte Logik nach Aktivierung einer Ressource

Es kann eine benutzerdefinierte Logik definiert werden, die ausgeführt wird, nachdem eine Ressource aktiviert wurde.

Standardmäßig wird PUBLIC.POST_ENABLE_RESOURCE(resource_ingestion_definition_id VARCHAR) aufgerufen, das 'response_code': 'OK' zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von EnableResourceHandlerBuilder überschrieben werden, um eine kundenspezifische Implementierung der PostEnableResourceCallback-Schnittstelle bereitzustellen.

Wenn die benutzerdefinierte Logik einen Fehler zurückgibt, wird die gegebene Fehlerantwort von der ENABLE_RESOURCE-Prozedur zurückgegeben, aber der Prozess, der eine Datenaufnahmedefinition der Ressource als aktiviert markiert und neue Aufnahmeprozesse erstellt, wird nicht zurückgesetzt.

Antwort

Erfolgreiche Antwort

Bei erfolgreicher Prozedur erhalten Sie eine Antwort, die der Folgenden ähnelt:

{
  "response_code": "OK"
}
Copy

Fehlerantwort

Bei einem Fehler in der Prozedur erhalten Sie eine Antwort, die der Folgenden ähnelt:

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

Mögliche Fehlercodes sind:

  • INVALID_INPUT - Ressource mit der angegebenen ID der Datenaufnahmedefinition der Ressource existiert nicht.

  • ENABLE_RESOURCE_ERROR - Bei der Aktualisierung der Datenaufnahmedefinition der Ressource oder beim Erstellen von Aufnahmeprozessen ist etwas Unerwartetes aufgetreten. Alle Änderungen werden rückgängig gemacht.