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. Die globalen Feed-Variablen werden in Unixzeit (Millisekunden seit dem 01. Januar 1970 UTC) konvertiert. 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

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

Password

Das Kennwort für den Zugriff auf den HTTP-Endpunkt.

Dieser Parameter trifft nur dann zu, wenn der Parameter Authentifizierung auf Standard festgelegt ist.

Password

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

Password

Das Kennwort für das Clientzertifikat, sofern festgelegt.

Dieser Parameter trifft nur dann zu, wenn der Parameter Authentifizierung auf Zertifikat festgelegt ist.

Password

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

Ü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.