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 die HTTPS-Endpunkte bestätigen und aktivieren, bevor sie von der Regel-Engine verwendet werden können. Weitere Informationen finden Sie unter Arbeiten mit HTTP-Themenregelzielen.
Parameter
Wenn Sie eine AWS IoT Regel mit dieser Aktion 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. IPv6-Adressen werden nicht unterstützt.
Unterstützt Ersatzvorlagen: Ja
confirmationUrl
-
(Optional) Falls angegeben, AWS IoT verwendet die Bestätigungs-URL, um ein passendes Ziel für die Themenregel zu erstellen. Sie müssen das Themenregelziel aktivieren, bevor Sie es in einer HTTP-Aktion verwenden. Weitere Informationen finden Sie unter Arbeiten mit HTTP-Themenregelzielen. 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
es fest codiertconfirmationUrl
ist und nicht angegeben 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 Standardinhaltstyp ist „application/json“, wenn die Nutzlast im JSON-Format vorliegt. Andernfalls ist er „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 vom Regelmodul verwendete Authentifizierung, um eine Verbindung mit der im
url
Argument angegebenen Endpunkt-URL herzustellen. Derzeit ist Signature Version 4 der einzige unterstützte Authentifizierungstyp. Weitere Informationen finden Sie unter HTTP-Autorisierung.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}" } ] } } ] } }
Logik zur Wiederholung von HTTP-Aktionen
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 nachgeschaltete Webdienst oder die nachgeschaltete 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 Anforderung 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