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

Beachten Sie beim Arbeiten mit dem Feed "HTTP-Poller" Folgendes:

  • Der Feed fragt den HTTP-Endpunkt in dem im Schritt Feed-Abfrageintervall des Konfigurationsassistenten festgelegten Intervall ab, um Daten zu laden.
  • 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 unterstützen globale Feed-Variablen. 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 Zeichenfolge-Datum/Uhrzeit-Format konvertieren. Beim ersten Start oder Neustart des Feeds entspricht die Zeit "$feed.FeedLastScheduledStart" der aktuellen Startzeit minus fünf Minuten. Nachfolgend finden Sie die verfügbaren Feed-Variablen mit der Angabe, welche Zeit sie darstellen.
    • $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 verbraucht werden kann, wie im Folgenden aufgeführt. Wenn die Feeds die Verbrauchsgrenze Ihrer Lizenzstufe überschreiten, wird eine Meldung im Protokoll erstellt und eine E-Mail gesendet, in der Sie benachrichtigt werden, dass die Grenze erreicht wurde. Wenn der Verbrauch 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 an Ihren Ansprechpartner bei Esri oder den technischen Support von Esri, um sich ggf. über die Velocity-Lizenzstufen zu informieren, die Ihre Workflows unterstützen. Folgende Lizenzstufen sind verfügbar:
    • Standard: Daten werden mit 25 KB/Sekunde (ca. 100 Ereignisse pro Sekunde) verbraucht und verarbeitet.
    • Advanced: Daten werden mit 250 KB/Sekunde (ca. 1.000 Ereignisse pro Sekunde) verbraucht und verarbeitet.
    • Dedicated: Daten werden mit 2.500 KB/Sekunde (ca. 10.000 Ereignisse pro Sekunde) verbraucht 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 Verarbeitung ü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

Nachfolgend werden die Parameter für den HTTP-Poller-Feed beschrieben:

ParameterBeschreibungDatentyp

URL

Die vollständige URL des extern zugänglichen HTTP-Endpunktes.

Dieser Parameter unterstützt die globale Variable $accessToken.

Zeichenfolge

HTTP-Methode

Gibt die für den HTTP-Endpunkt verwendete HTTP-Methode an, 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

Gibt den Typ der Authentifizierung an, die für den Zugriff auf den HTTP-Endpunkt verwendet wird. Die Optionen 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

Gibt an, ob der Webserver abgefragt wird und eine offene Verbindung aufrechterhalten wird, bis der Server neue Daten sendet. Werden neue Daten empfangen, wird umgehend eine neue Anforderung versendet.

Hinweis:

Dies ist eine besondere Webserverkonfiguration, die für die meisten Server nicht verwendet wird.

Boolesch

Globale Variablen

Konvertiert die globalen Feed-Variablen in ein benutzerdefiniertes Datums- und Zeitformat. Dieser Parameter ist optional.

Dieser Parameter unterstützt globale Feed- und $accessToken-Variablen.

Weitere Informationen zum Festlegen eines Datum/Uhrzeit-Formats (Epoch-Millisekunden, Epoch-Sekunden und Zeichenfolgenformat) finden Sie unter Datums- und Uhrzeitparameter.

Zeichenfolge

Zusätzliche Protokollierung

Gibt an, ob die Protokollierung von unverarbeiteten HTTP-Anforderungen und -Antworten, die von Velocity ausgegeben werden, aktiviert ist. Dieser Parameter ist optional.

Hinweis:

Aktivieren Sie diesen Parameter nur zur Problembehebung. Deaktivieren Sie ihn wieder nach Beendigung der Problembehebung. Nach der Aktivierung starten Sie den Feed. Die Debug-Protokolle sind anschließend auf der Seite "Feed-Protokolle" verfügbar. Wenden Sie sich an den technischen Support von Esri, falls Sie Unterstützung bei der Fehlerbehebung benötigen.

Boolesch

Überlegungen und Beschränkungen

Nachfolgend finden Sie Überlegungen und Einschränkungen zum Verwenden des HTTP-Poller-Feeds:

  • 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 verbraucht.
  • 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.