Der Feed-Typ "HTTP-Poller" in ArcGIS Velocity sendet eine HTTP-Anforderung an die angegebene URL. Hierdurch werden Daten gesammelt, die in einem Webbrowser durch Aufrufen dieser URL abgerufen werden können.
Beispiel
Die aktualisierten Sensorwerte werden jede Minute aus einer API geladen.
Verwendungshinweise
- Der Feed fragt den HTTP-Endpunkt in dem im Schritt Feed-Abfrageintervall des Konfigurationsassistenten festgelegten Intervall ab, um Daten zu laden.
- Auf den HTTP-Endpunkt muss extern im Internet zugegriffen werden können.
- Die abgefragte HTTP-Antwort oder Datei darf nicht größer als 16 MB sein. Wenn die Größe der abgefragten Daten 16 MB überschreitet, werden möglicherweise keine Features erfasst.
- Wenn ein Abfrageintervall festgelegt ist, erfolgt die Abfrage nicht zur Startzeit des Feeds, sondern in regelmäßigen Zeitintervallen. Wenn z. B. für einen Feed festgelegt ist, dass die Abfrage von Daten alle 5 Minuten erfolgt, und der Feed um 8:03 Uhr gestartet wird, erfolgt die erste Datenabfrage um 8:05 Uhr, die nächste um 8:10 Uhr usw.
- Gehen Sie beim Festlegen des Wertes Feed-Abfrageintervall vorsichtig vor. Stellen Sie sicher, dass der abzufragende HTTP-Endpunkt die Antworten innerhalb des angegebenen Abfrageintervalls zurückgeben kann. Es wird empfohlen, die Antwortzeit einer Anforderung an die Website zu testen und dabei dieselbe Anforderung zu verwenden, die Sie in der Feed-Konfiguration anwenden. Legen Sie das Abfrageintervall nicht auf ein Intervall fest, das kürzer als die typische Antwortzeit der Anforderung an die Website ist. Weitere Informationen finden Sie unter Planen des Feed-Abfrageintervalls.
- Die Parameter POST-Text, URL-Parameter und Benutzerdefinierte Header können globale Feed-Variablen verwenden. Standardmäßig werden die globalen Feed-Variablen in Epoch-Zeit konvertiert (Millisekunden seit 01. Januar 1970 UTC). Optional können Sie die globalen Feed-Variablen in Epoch-Sekunden (Sekunden seit dem 1. Januar 1970) und ein gewünschtes Zeichenfolge-Datum/Uhrzeit-Format konvertieren. In der folgenden Aufstellung sind die verfügbaren Feed-Variablen mit der Angabe, welche Zeit sie darstellen, aufgeführt.
- $feed.FeedStartTime: Der Zeitpunkt, zu dem der Feed gestartet wurde
- $feed.FeedScheduledStartTime: Der Zeitpunkt der planmäßigen Ausführung der nächsten Wiederholung des Feeds.
- $feed.FeedLastScheduledStartTime: Der Zeitpunkt der planmäßigen Ausführung der letzten Wiederholung des Feeds.
- In den ArcGIS Velocity-Subskriptionslizenzstufen gibt es Begrenzungen für die Datenmenge, die von einem Feed erfasst werden kann, wie im Folgenden aufgeführt. Wenn Feeds die maximale Erfassungsmenge der Lizenzstufe überschreiten, wird eine Meldung in die Protokolle geschrieben und eine E-Mail an den Benutzer gesendet, um ihn darüber zu informieren, dass die maximale Datenmenge erreicht wurde. Wenn die Erfassung von Daten länger als eine Stunde über dem Grenzwert liegt, wird der Feed angehalten. Weitere Informationen zur ArcGIS Velocity-Lizenzierung finden Sie unter Lizenzierung. Wenden Sie sich ggf. an Ihren Ansprechpartner bei Esri oder den technischen Support von Esri, um sich über die Velocity-Lizenzstufen zu informieren, die Ihre Workflows unterstützen.
- Standard: Daten werden mit 25 KB/Sekunde (ca. 100 Ereignisse pro Sekunde) erfasst und verarbeitet.
- Advanced: Daten werden mit 250 KB/Sekunde (ca. 1.000 Ereignisse pro Sekunde) erfasst und verarbeitet.
- Dedicated: Daten werden mit 2.500 KB/Sekunde (ca. 10.000 Ereignisse pro Sekunde) erfasst und verarbeitet.
Nachdem Sie die Feed-Verbindungsparameter konfiguriert haben, lesen Sie Konfigurieren von Eingabedaten, um zu erfahren, wie Sie das Schema und die Schlüsselparameter definieren.
OAuth-Authentifizierung
Der Feed-Typ "HTTP-Poller" unterstützt die Authentifizierung mit OAuth 2.0 für HTTP-Endpunkte, die mit den Gewährungstypen "Clientanmeldeinformationen" oder "Kennwort" arbeiten. Diese OAuth-Gewährungstypen folgen einem Muster, das die Konfiguration einer HTTP-Anforderung zum Abrufen eines Zugriffstoken und zusätzlichen Konfigurieren einer Anforderung zum Verwenden eines Aktualisierungstoken zum Abrufen neuer Zugriffstoken beinhaltet. Dies erfolgt zusätzlich zu der Datenanforderung, die üblicherweise als Teil eines Feeds des Typs "HTTP-Poller" konfiguriert wird.
Während der Konfiguration der Zugriffstokenanforderung werden Sie zur Angabe der JSON-Schlüsselfelder für Zugriffstoken und optional für Aktualisierungstoken und Ablauf aus der Antwort des OAuth-Autorisierungsservers aufgefordert. Wenn ein Ablauf ausgewählt wurde, müssen Sie den Ablauftyp (Dauer oder Zeitstempel) und die Einheiten definieren.
Wenn in der Zugriffstokenanforderung ein Aktualisierungstoken gefunden wurde, müssen Sie die globale Variable $refreshToken verwenden, um zu definieren, wo das Aktualisierungstoken in der Konfiguration der Aktualisierungstokenanforderung verwendet werden soll.
In der Konfiguration der Datenanforderung müssen Sie schließlich noch die globale Variable $accessToken verwenden, um zu definieren, wo das Zugriffstoken verwendet werden soll. Dies erfolgt häufig in einem benutzerdefinierten Authorization-Header mit dem Wert Bearer $accessToken. $accessToken kann auch im POST-Text, in den URL-Parametern und der URL selbst (z. B. https://<<company.domain>>/$accessToken/<<method>>?<<url params>>) verwendet werden.
Während der Ausführung übernimmt ein Feed mit konfigurierter OAuth-Authentifizierung die Verwaltung des Zugriffstoken und die Behandlung der Fehler beim Abrufen der Daten. Wenn zum Beispiel eine Aktualisierungstokenanforderung mit Ablauf definiert wurde, dann verwendet der Feed das Aktualisierungstoken, das er zu Beginn mit der Zugriffstokenanforderung abgerufen hat, um ein neues Token abzurufen, wenn das Token abgelaufen ist.
Berücksichtigen Sie Folgendes, wenn Sie einen Feed mit OAuth erstellen:
- Beim Autorisieren gibt es mehrere Anforderungen an einen Autorisierungsserver und den zugehörigen Datenendpunkt. Einige APIs implementieren eine Ratenbegrenzung für bestimmte Anforderungen, was sich auf das Autorisieren des Feeds auswirken kann.
- Aus Sicherheitsgründen müssen nach dem Bearbeiten der Authentifizierungsparameter die POST-Texte in Zugriffstoken- und Aktualisierungstokenanforderungen neu konfiguriert werden.
Parameter
Parameter | Beschreibung | Datentyp |
---|---|---|
URL | Die vollständige URL des extern zugänglichen HTTP-Endpunktes. Dieser Parameter unterstützt die globale Variable $accessToken. | Zeichenfolge |
HTTP-Methode | Die für den HTTP-Endpunkt verwendete HTTP-Methode, entweder GET oder POST. Wenn POST ausgewählt ist, können Sie einen Nachrichtentext angeben. | Zeichenfolge |
POST-Textkörper | Der beim Senden von POST-HTTP-Anforderungen aufzunehmende Nachrichtentext. Dies ermöglicht eine Auswahl zwischen x-www-form-urlencoded und sonstigen generischen Textinhaltstypen. Darüber hinaus wird mit ihm die Content-type-Kopfzeile festgelegt. Dieser Parameter trifft nur dann zu, wenn der Parameter HTTP-Methode auf POST festgelegt wurde. Dieser Parameter unterstützt globale Feed- und $accessToken-Variablen. | Zeichenfolge |
Authentifizierung | Der für den Zugriff auf den HTTP-Endpunkt verwendete Typ der Authentifizierung. Die Authentifizierungsoptionen lauten Keine, Standard, Zertifikat und OAuth. | Zeichenfolge |
Benutzername | Der Benutzername für den Zugriff auf den HTTP-Endpunkt. Dieser Parameter trifft nur dann zu, wenn der Parameter Authentifizierung auf Standard festgelegt ist. | Zeichenfolge |
Kennwort | Das Kennwort für den Zugriff auf den HTTP-Endpunkt. Dieser Parameter trifft nur dann zu, wenn der Parameter Authentifizierung auf Standard festgelegt ist. | Kennwort |
Zertifikat-URL | Die URL-Adresse des Clientzertifikats für den Zugriff auf den HTTP-Endpunkt. Dieser Parameter trifft nur dann zu, wenn der Parameter Authentifizierung auf Zertifikat festgelegt ist. | Zeichenfolge |
Kennwort | Das Kennwort für das Clientzertifikat, sofern festgelegt. Dieser Parameter trifft nur dann zu, wenn der Parameter Authentifizierung auf Zertifikat festgelegt ist. | Kennwort |
Benutzerdefinierte Header | Optionale benutzerdefinierte Header, die in die HTTP-Anforderung aufgenommen werden können, die an den angegebenen HTTP-Endpunkt gesendet wird. Mit benutzerdefinierten Headern kann beispielsweise ein API-Schlüssel oder Autorisierungsheader eines Drittanbieters angegeben werden. Dieser Parameter unterstützt globale Feed- und $accessToken-Variablen. | Schlüssel/Wert-Paar |
URL-Parameter | Optionale URL-Parameter, die in die URL der HTTP-Anforderung, die an den angegebenen HTTP-Endpunkt gesendet wird, aufgenommen werden sollen. Parameter können auch im Parameter URL festgelegt werden. Die hier eingegebenen URL-Parameter setzen aber alle entsprechenden Parameter, die für den Parameter URL angegeben wurden, außer Kraft. Parameter, die hier definiert werden, sind stets als URL codiert. Dieser Parameter unterstützt globale Feed- und $accessToken-Variablen. | Schlüssel/Wert-Paar |
Long Polling | ArcGIS Velocity fragt den Webserver ab und lässt die Verbindung geöffnet, bis der Server neue Daten sendet. Wenn Velocity Daten empfängt, wird sofort eine neue Anforderung versendet. Hinweis:Dies ist eine besondere Webserverkonfiguration, die für die meisten Server nicht verwendet wird. | Boolesch |
Globale Variablen | Optionaler Parameter, der verwendet werden kann, um die globalen Feed-Variablen in ein benutzerdefiniertes Datums- und Zeitformat zu konvertieren. Dieser Parameter unterstützt globale Feed- und $accessToken-Variablen. Weitere Informationen zum Festlegen eines Datum/Uhrzeit-Formats (Epochen-Millisekunden, Epochen-Sekunden und Zeichenfolgenformat) finden Sie unter Datums- und Uhrzeitparameter. | Zeichenfolge |
Zusätzliche Protokollierung | Aktivieren Sie optional die Protokollierung von unverarbeiteten HTTP-Anforderungen und -Antworten, die von Velocity ausgegeben werden. Hinweis:Dieser Parameter sollte nur zur Problembehebung aktiviert und nach Beendigung der Problembehebung deaktiviert werden. Nach der Aktivierung starten Sie den Feed, und die Debug-Protokolle sind dann auf der Seite "Feed-Protokolle" verfügbar. Wenden Sie sich bei Bedarf an den technischen Support von Esri, falls Sie Unterstützung bei der Fehlerbehebung benötigen. | Boolesch |
Überlegungen und Beschränkungen
- Auf den HTTP-Endpunkt muss extern im Internet zugegriffen werden können.
- Die abgefragte HTTP-Antwort oder Datei darf nicht größer als 16 MB sein.
- Legen Sie das Abfrageintervall nicht auf ein Intervall fest, das kürzer als die typische Antwortzeit der Anforderung an den HTTP-Endpunkt ist. Weitere Informationen finden Sie unter Planen des Feed-Abfrageintervalls.
- Es wird empfohlen, diesen Feed-Typ für Echtzeitdaten mit Geschwindigkeiten von bis etwa 3.000 Punkt-Features pro Sekunde zu verwenden. Unterstützte Geschwindigkeiten variieren je nach Anzahl der Datenattribute, Format der eingehenden Daten und Komplexität der Polylinien- oder Polygon-Features.