Ressource erstellen¶
Die Erstellung einer Ressource ist erforderlich, um die Datenaufnahme aus einem Quellsystem zu definieren und zu planen. Die PUBLIC.CREATE_RESOURCE
-Prozedur ist der Einstiegspunkt aus der UI oder einem Arbeitsblatt, um eine neue Ressource zu erstellen.
Zum Aufrufen dieser Prozedur muss dem Benutzer die Anwendungsrolle ADMIN
zugewiesen sein.
Der Prozess der Ressourcenerstellung besteht aus mehreren Phasen. Mehrere davon sind anpassbar, enthalten aber vernünftige Standardeinstellungen. Die Phasen sind:
Erstvalidierung
Benutzerdefinierte Validierung
Benutzerdefinierte Logik, bevor eine Ressource erstellt wird
Erstellung der Datenaufnahmedefinition von Ressourcen und der Datenaufnahmeprozesse
Benutzerdefinierte Logik nach der Erstellung einer Ressource
Erstvalidierung¶
Die Erstvalidierung wird gleich zu Beginn des Erstellungsprozesses der Ressource durchgeführt, und es wird überprüft:
ob gegebene Eingabedaten ein gültiges Objekt für die Datenaufnahmedefinition der Ressource darstellen
ob keine Ressource mit angegebener
id
undresourceId
existiert
Benutzerdefinierte Validierung¶
Die benutzerdefinierte Validierung wird nach der anfänglichen Validierung ausgeführt und ist so konzipiert, dass sie die kundenspezifische Logik des Konnektors unterstützt. So können Sie beispielsweise überprüfen, ob eine bestimmte Ressource in einem Quellsystem vorhanden ist.
Standardmäßig wird PUBLIC.CREATE_RESOURCE_VALIDATE(resource VARIANT)
aufgerufen, das 'response_code': 'OK'
zurückgibt. Sie kann über das SQL-Skript oder durch Verwendung von CreateResourceHandlerBuilder
überschrieben werden, um eine kundenspezifische Implementierung der CreateResourceValidator
-Schnittstelle bereitzustellen.
Wenn die benutzerdefinierte Überprüfung einen Fehler zurückgibt, werden die folgenden Schritte nicht ausgeführt, und es wird die Fehlerantwort durch die CREATE_RESOURCE
-Prozedur zurückgegeben.
Benutzerdefinierte Logik, bevor eine Ressource erstellt wird¶
Sie können eine benutzerdefinierte Logik implementieren, bevor eine Ressource erstellt und in den Zeitplan aufgenommen wird. Sie können damit zum Beispiel eine neue Zieltabelle erstellen, in der die Aufnahmedaten gespeichert werden.
Standardmäßig wird PUBLIC.PRE_CREATE_RESOURCE(resource VARIANT)
aufgerufen, das 'response_code': 'OK'
zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von CreateResourceHandlerBuilder
überschrieben werden, um eine kundenspezifische Implementierung der PreCreateResourceCallback
-Schnittstelle bereitzustellen.
Wenn die benutzerdefinierte Logik einen Fehler zurückgibt, werden die nachfolgenden Schritte nicht ausgeführt, und die bereitgestellte Fehlerantwort wird von der CREATE_RESOURCE
-Prozedur zurückgegeben.
Erstellung der Datenaufnahmedefinition von Ressourcen und der Datenaufnahmeprozesse¶
Bei diesem Schritt wird ein neuer Datensatz zur STATE.RESOURCE_INGESTION_DEFINITION
-Tabelle hinzugefügt. Wenn eine Ressource zum ersten Mal aktiviert wird (enabled
Parameter gleich true
), wird außerdem für jede bereitgestellte Aufnahmekonfiguration ein neuer Datenaufnahmeprozess hinzugefügt. Datenaufnahmeprozesse werden mit dem SCHEDULED
-Status erstellt, was bedeutet, dass die Aufnahme später beginnen wird. Wenn das Kennzeichen enabled
auf false
gesetzt ist, wird kein Datenaufnahmeprozess erstellt und die ENABLE_RESOURCE
-Prozedur muss aufgerufen werden, um die Aufnahme zu aktivieren.
Benutzerdefinierte Logik nach der Erstellung einer Ressource¶
Die benutzerdefinierte Logik kann nach der Erstellung und dem Zeitplan einer Ressource festgelegt werden. Sie können damit zum Beispiel eine neue Zieltabelle erstellen, in der die Aufnahmedaten gespeichert werden.
Standardmäßig wird PUBLIC.POST_CREATE_RESOURCE(id VARCHAR)
aufgerufen, das 'response_code': 'OK'
zurückgibt. Die Prozedur kann über das SQL-Skript oder durch Verwendung von CreateResourceHandlerBuilder
überschrieben werden, um eine kundenspezifische Implementierung der PostCreateResourceCallback
-Schnittstelle bereitzustellen.
Wenn die benutzerdefinierte Logik einen Fehler zurückgibt, wird die gegebene Fehlerantwort von der CREATE_RESOURCE
-Prozedur zurückgegeben, aber die Erstellung der Datenaufnahmedefinition der Ressource und die Datenaufnahmeprozesse werden nicht zurückgesetzt.
Antwort¶
Erfolgreiche Antwort¶
Bei Erfolg liefert die Prozedur eine Antwort, die in etwa so aussieht:
{ "response_code": "OK", "id": "<new resource ingestion definition id>" }
Die in der Antwort zurückgegebene id
ist eine ID der Datenaufnahmedefinition von Ressourcen und kann verwendet werden, um die Ressource später zu aktivieren, zu deaktivieren oder zu aktualisieren.
Fehlerantwort¶
Bei einem Fehler gibt die Prozedur eine Antwort zurück, die in etwa so aussieht:
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Mögliche Fehlercodes sind:
INVALID_INPUT
- Die mitgelieferten Argumente der Prozedur sind ungültig, und es ist nicht möglich, ein gültiges Ressourcenobjekt zu erstellen oder eine Ressource mit der angegebenen ID existiert bereits.CREATE_RESOURCE_ERROR
- Bei der Erstellung der neuen Datenaufnahmedefinition von Ressourcen oder bei der Erstellung von Datenaufnahmeprozessen ist etwas Unerwartetes passiert. Alle Änderungen werden rückgängig gemacht.