HTTP-Poller

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.
    Feed-Analysevariablen mit der Angabe, welche Zeit sie darstellen
  • 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

ParameterBeschreibungDatentyp

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.