HTTP - AWS IoT Core

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 von url sein.

Das Verhältnis zwischen url und confirmationUrl wird wie folgt beschrieben:

  • Wenn url es fest codiert confirmationUrl ist und nicht angegeben wird, behandeln wir das url Feld implizit als. confirmationUrl AWS IoT erstellt ein Ziel für eine Themenregel. url

  • Falls url und fest codiert confirmationUrl sind, url muss mit confirmationUrl beginnen. AWS IoT erstellt ein Ziel für confirmationUrl eine Themenregel.

  • Wenn url eine Ersetzungsvorlage enthält, müssen Sie confirmationUrl angeben und url muss mit confirmationUrl beginnen. Wenn confirmationUrl Ersetzungsvorlagen enthält, müssen Sie Themenregelziele manuell erstellen, bevor die http Aktion verwendet werden kann. Wenn confirmationUrl 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 an.

Weitere Informationen finden Sie auch unter