Benutzerdefinierte Daten-Feeds sind eine Funktion von ArcGIS Enterprise, die es einem Entwickler ermöglicht, Web-Services aus Datenquellen zu erstellen und zu veröffentlichen, die von ArcGIS nicht nativ unterstützt werden. Daten, auf die über einen benutzerdefinierten Daten-Feed zugegriffen wird, werden als REST-Endpunkt des Feature-Service dargestellt und können für Web-Clients, Desktop-Apps, Apps für den Außendienst oder jeden anderen REST-Client bereitgestellt werden. Szenarien, in denen ein benutzerdefinierter Daten-Feed eine gute Option sein könnte:
Benutzerdefinierte Daten-Feeds verwenden das Befehlszeilenwerkzeug cdf, das mit dem ArcGIS Enterprise SDK bereitgestellt wird. Mit dem Werkzeug können Sie JavaScript verwenden, um benutzerdefinierte Datenanbieter zu erstellen und zu testen, die Daten aus Ihren Datenquellen abrufen. Ferner wird Ihr Code in benutzerdefinierte Datenpaketdateien gepackt, mit denen Sie die Datenanbieter bei ArcGIS Server registrieren können. Nach der Registrierung können die Daten als Feature-Services, die Ihre Datenanbieter referenzieren, für ArcGIS-Clients verfügbar gemacht werden.
Benutzerdefinierte Daten-Feeds können von jedem Client als HTTP-REST-Services konsumiert werden und sind speziell darauf ausgelegt, vorhandene ArcGIS-Clients zu unterstützen, bei denen der Benutzer mit den Daten aus einem benutzerdefinierten Daten-Feed interagieren, Pop-ups erstellen oder sogar Feature-Änderungen übermitteln kann, ohne zu erkennen, dass der Service auf einer externen oder dritten Drittanbieter-Datenquelle basiert.
Benutzerdefinierte Daten-Feeds können nur in ArcGIS Enterprise erstellt werden. Sie können in ArcGIS Pro und in Web-Apps in ArcGIS Enterprise und ArcGIS Online genutzt werden.
| Funktion | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| Benutzerdefinierte Daten-Feeds | N. z. |
Volle Unterstützung Teilunterstützung
Bei der Entwicklung einer maßgeschneiderten Daten-Feed-Integration sollten Sie diese Best Practices berücksichtigen:
Verwalten Sie größere Datenabfragen sorgfältig: Paginierung, große Abfragegrößen und Wartezeiten für Serialisierung oder Konvertierung können alle zu einer schlechten Performance eines benutzerdefinierten Daten-Feeds beitragen, wenn das abgefragte Dataset zu groß ist. Wenn die Remote-API oder -Datenquelle Indizierung, attributbasierte Filter oder räumliche Filter unterstützt, kann Logik im benutzerdefinierten Daten-Feed geschrieben werden, um eingehende Feature-Layer-Anforderungsparameter (wie eine Ausdehnung) in optimierte Anforderungen für das Backend zu übersetzen.
Während benutzerdefinierte Daten-Feeds einen Feature-Service-Endpunkt implementieren, mit dem die meisten ArcGIS-Anwendungen arbeiten können, sollten Sie beim Testen der vorgesehenen Anwendungen für Ihr System vorsichtig sein – einige Anwendungen senden komplexe Abfragen oder erwarten zusätzliche Funktionen eines Feature-Service und funktionieren möglicherweise nicht perfekt mit benutzerdefinierten Daten-Feeds. Konsultieren Sie die REST API-Dokumentation, und arbeiten Sie mit Esri zusammen, um eventuelle Einschränkungen zu verstehen, die spezifisch für Ihren Workflow, Ihren benutzerdefinierten Daten-Feed und Ihren Anbieter sind.
Fügen Sie nur notwendige Attribute in einen Feed ein. Während eine Remote-API oder -Datenquelle eine große Anzahl von Attributen bereitstellen kann, nehmen Sie in die Antwort an ArcGIS-Clients nur notwendige Attribute auf, um die beste Performance zu erzielen.
Verwenden Sie nach Möglichkeit vorhandene NodeJS-Bibliotheken. Wenn die Remote-API oder der Remote-Service über eine bekannte NodeJS-Bibliothek oder ein solches Modul zugänglich ist, beispielsweise eines, auf das über npm zugegriffen werden kann, verwenden Sie diese Module, und halten Sie sie aktuell, da sie oft die neuesten Sicherheits- und Authentifizierungsstandards für dieses Remote-System implementieren. Diese Module können von den Anbietern entwickelt werden (wie das Modul “arcgis-rest-js”, das von Esri verwaltet wird) oder von einer Open-Source-Community verwaltet werden.
Benutzerdefinierte Daten-Feeds erwarten für jeden Datensatz eine Kennung auf Basis einer ganzen Zahl. Wenn möglich, integrieren Sie sie in das Backend-Schema, oder generieren Sie sie, um ein Szenario zu verhindern, in dem CDF eine ID erstellen muss. Dies kann bei einigen ArcGIS-Anwendungen zu Inkonsistenzen führen.