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:

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

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

  • Wenn url fest codiert und nicht angegeben confirmationUrl 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 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 an.

Weitere Informationen finden Sie auch unter