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 einen HTTPS-Endpunkt, der auf eine Webanwendung oder einen Webdienst verweisen kann.

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.

Parameters

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 und nicht angegeben confirmationUrl ist, behandeln wir das url Feld implizit als. confirmationUrl AWS IoTerstellt ein Ziel für eine Themenregel. url

  • Falls url und fest codiert confirmationUrl sind, url muss mit confirmationUrl beginnen. AWS IoTerstellt 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 , wenn die Payload 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

enableBatching

(Optional) Ob die HTTP-Aktionsnachrichten in einer einzigen Anfrage für eine bestimmte URL verarbeitet werden sollen. Der Wert kann wahr oder falsch sein. Weitere Informationen zur Batchverarbeitung finden Sie unter Batching von HTTP-Aktionsnachrichten.

Boolescher Wert

Unterstützt Ersatzvorlagen: Nein

batchConfig

(Optional) Konfigurationseinstellungen für die Batchverarbeitung. Nach der Aktivierung müssen batchConfig die Parameter angegeben werden. Wenn keine batchConfig Parameter angegeben werden, werden die Standardwerte verwendet.

maxBatchOpenMs

Die maximale Zeitspanne (in Millisekunden), für die eine ausgehende Nachricht darauf wartet, dass andere Nachrichten den Batch erstellen. Je höher die Einstellung, desto länger ist die Latenz der HTTP-Batch-Aktion.

Mindestwert: 5 ms. Maximalwert: 200 ms.

Standardwert: 20 ms

Unterstützt Ersatzvorlagen: Nein

maxBatchSize

Die maximale Anzahl von Nachrichten, die in einer einzigen Aktionsausführung gebündelt werden.

Unterstützt Ersatzvorlagen: Nein

Mindestwert: 2 Nachrichten. Höchstwert: 10 Nachrichten

Standardwert: 10 Nachrichten

maxBatchSizeBytes

Maximale Größe eines Nachrichtenstapels in Byte.

Mindestwert: 100 Byte. Maximalwert: 131.072 Byte

Standardwert: 5.120 Byte

Unterstützt Ersatzvorlagen: Nein

Anmerkung

Der Standard-Inhaltstyp 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).

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}" } ] } } ] } }
"http": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "enableBatching": true, "batchConfig": { "maxBatchOpenMs": 123, "maxBatchSize": 5, "maxBatchSizeBytes": 131072, } }, "errorAction": { "http": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com" // batchConfig is not allowed here } }

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