Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
HTTP
Die Aktion HTTPS (http
) sendet Daten von einer MQTT Nachricht an eine Webanwendung oder einen Webdienst.
Voraussetzungen
Diese Regelaktion hat die folgenden Anforderungen:
-
Sie müssen HTTPS Endpoints bestätigen und aktivieren, bevor die Rules Engine sie verwenden kann. Weitere Informationen finden Sie unter Mit Zielen für HTTP Themenregeln arbeiten.
Parameter
Wenn Sie mit dieser Aktion eine AWS IoT Regel erstellen, müssen Sie die folgenden Informationen angeben:
url
-
Der HTTPS Endpunkt, an den die Nachricht mithilfe der HTTP POST Methode gesendet wird. Wenn Sie eine IP-Adresse anstelle eines Hostnamens verwenden, muss es sich um eine IPv4 Adresse handeln. IPv6Adressen werden nicht unterstützt.
Unterstützt Ersatzvorlagen: Ja
confirmationUrl
-
(Optional) Falls angegeben, wird AWS IoT anhand der Bestätigung URL ein passendes Ziel für die Themenregel erstellt. Sie müssen das Themenregelziel aktivieren, bevor Sie es in einer HTTP-Aktion verwenden. Weitere Informationen finden Sie unter Mit Zielen für HTTP Themenregeln arbeiten. Wenn Sie Ersetzungsvorlagen verwenden, müssen Sie Themenregelziele manuell erstellen, bevor die
http
Aktion verwendet werden kann.confirmationUrl
muss ein Präfix vonurl
sein.Das Verhältnis zwischen
url
undconfirmationUrl
wird wie folgt beschrieben:-
Wenn
url
fest codiert und nicht angegebenconfirmationUrl
wird, behandeln wir dasurl
Feld implizit als.confirmationUrl
AWS IoT erstellt ein Ziel für eine Themenregel.url
-
Falls
url
und fest codiertconfirmationUrl
sind,url
muss mitconfirmationUrl
beginnen. AWS IoT erstellt ein Ziel fürconfirmationUrl
eine Themenregel. -
Wenn
url
eine Ersetzungsvorlage enthält, müssen SieconfirmationUrl
angeben undurl
muss mitconfirmationUrl
beginnen. WennconfirmationUrl
Ersetzungsvorlagen enthält, müssen Sie Themenregelziele manuell erstellen, bevor diehttp
Aktion verwendet werden kann. WennconfirmationUrl
es keine Ersatzvorlagen enthält, AWS IoT erstellt es ein Ziel für Themenregeln fürconfirmationUrl
.
Unterstützt Ersatzvorlagen: Ja
-
headers
-
(Optional) Die Liste der Header, die in HTTP Anfragen an den Endpunkt aufgenommen werden sollen. Jeder Header muss die folgenden Informationen enthalten:
key
-
Der Schlüssel des Headers.
Unterstützt Ersatzvorlagen: Nein
value
-
Der Wert des Headers
Unterstützt Ersatzvorlagen: Ja
Anmerkung
Der Standard-Inhaltstyp ist application/json when the payload is in JSON format. Otherwise, it is application/octet -stream. Sie können ihn überschreiben, indem Sie im Header den genauen Inhaltstyp mit dem Schlüsselinhaltstyp angeben (ohne Berücksichtigung von Groß- und Kleinschreibung).
auth
-
(Optional) Die Authentifizierung, die von der Regel-Engine verwendet wird, um eine Verbindung mit dem im
url
Argument URL angegebenen Endpunkt herzustellen. Derzeit ist Signature Version 4 der einzige unterstützte Authentifizierungstyp. Weitere Informationen finden Sie unter HTTPAutorisierung.Unterstützt Ersatzvorlagen: Nein
Beispiele
Das folgende JSON Beispiel definiert eine AWS IoT Regel mit einer HTTP Aktion.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "http": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com", "headers": [ { "key": "static_header_key", "value": "static_header_value" }, { "key": "substitutable_header_key", "value": "${value_from_payload}" } ] } } ] } }
HTTPLogik für Aktionen, Wiederholungsversuche
Die AWS IoT Regel-Engine wiederholt die HTTP Aktion gemäß den folgenden Regeln:
-
Die Regel-Engine versucht mindestens einmal, eine Nachricht zu senden.
-
Die Regel-Engine wiederholt den Versuch höchstens zweimal. Die maximale Anzahl von Versuchen ist drei.
-
Die Regel-Engine unternimmt in folgenden Fällen keinen Wiederholungsversuch:
-
Der vorherige Versuch lieferte eine Antwort mit einer Größe von über 16.384 Bytes.
-
Der Downstream-Webdienst oder die Downstream-Anwendung schließt die TCP Verbindung nach dem Versuch.
-
Die Gesamtzeit zum Abschließen einer Anforderung mit Wiederholungsversuchen hat das Zeitlimit für die Anforderung überschritten.
-
Die Anfrage gibt einen anderen HTTP Statuscode als 429.500-599 zurück.
-
Anmerkung
Für Wiederholungen fallen die Standardkosten für die Datenübertragung
Weitere Informationen finden Sie auch unter
-
Leiten Sie Daten direkt von AWS IoT Core zu Ihren Webdiensten
im Internet der Dinge im Blog weiter AWS