

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
<a name="https-rule-action"></a>

Die Aktion HTTPS (`http`) sendet Daten von einer MQTT-Nachricht an einen HTTPS-Endpunkt, der auf eine Webanwendung oder einen Webdienst verweisen kann.

## Voraussetzungen
<a name="https-rule-action-requirements"></a>

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 [Ziele für HTTP-Aktionen](http-action-destination.md).

## Parameters
<a name="https-rule-action-parameters"></a>

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](iot-substitution-templates.md): 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 HTTP-Aktionsziel aktivieren, bevor Sie es in einer HTTP-Aktion verwenden können. Weitere Informationen finden Sie unter [Ziele für HTTP-Aktionen](http-action-destination.md). Wenn Sie Ersatzvorlagen verwenden, müssen Sie manuell ein HTTP-Aktionsziel 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 bereitgestellt `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 es Ersatzvorlagen `confirmationUrl` enthält, müssen Sie manuell ein HTTP-Aktionsziel erstellen, bevor die `http` Aktion verwendet werden kann. Wenn `confirmationUrl` es keine Ersatzvorlagen enthält, AWS IoT erstellt es ein Ziel für eine Themenregel. `confirmationUrl`
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): 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](iot-substitution-templates.md): Nein  
`value`  
Der Wert des Headers  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Ja
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](https://docs.aws.amazon.com/iot/latest/apireference/API_HttpAuthorization.html).  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): 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](http_batching.md).  
Boolescher Wert  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): 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](iot-substitution-templates.md): Nein  
`maxBatchSize`  
Die maximale Anzahl von Nachrichten, die in einer einzigen Aktionsausführung gebündelt werden.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): 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](iot-substitution-templates.md): Nein
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
<a name="https-rule-action-examples"></a>

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
<a name="https-rule-action-retry-logic"></a>

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](https://aws.amazon.com/ec2/pricing/on-demand/) an.

## Weitere Informationen finden Sie auch unter
<a name="https-rule-action-see-also"></a>
+ [Batch-Verarbeitung von HTTP-Aktionsnachrichten](http_batching.md)
+ [Ziele für HTTP-Aktionen](http-action-destination.md)
+ [Leiten Sie Daten direkt von AWS IoT Core zu Ihren Webdiensten](https://aws.amazon.com/blogs/iot/route-data-directly-from-iot-core-to-your-web-services/) im *Internet der Dinge im Blog weiter AWS*

# Batch-Verarbeitung von HTTP-Aktionsnachrichten
<a name="http_batching"></a>

Sie können Batching verwenden, um mehrere HTTP-Aktionsnachrichten in einer einzigen Anfrage zu senden.

## -Übersicht
<a name="batching_overview"></a>

Durch Batching können Sie Nachrichten von der AWS IoT Core Rules Engine stapelweise an Ihre HTTP-Endpunkte senden. Mit dieser Funktion können Sie Ihre Kosten senken, indem Sie die Anzahl der ausgeführten HTTP-Aktionen verringern und die Effizienz verbessern, indem der mit der Einrichtung neuer Verbindungen verbundene Aufwand reduziert wird.

**Anmerkung**  
Die HTTP-Aktion im Batchmodus wird als einzelne Aktion berechnet. Die Zählung erfolgt in Schritten von 5 KiB, basierend auf der Größe der ausgehenden Batch-Payload, die von der Rules Engine an den AWS IoT Core Downstream-Service gesendet wird. Weitere Informationen finden Sie in der [AWS IoT Core Preisliste](https://aws.amazon.com/iot-core/pricing/).

Wenn Sie Batching in der Definition Ihrer IoT-Regelaktion aktivieren, stehen die folgenden Parameter für die Konfiguration zur Verfügung:

`maxBatchOpenMs`  
Die maximale Zeitspanne (in Millisekunden), für die eine ausgehende Nachricht darauf wartet, dass andere Nachrichten den Stapel 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](iot-substitution-templates.md): Nein

`maxBatchSize`  
Die maximale Anzahl von Nachrichten, die in einer einzigen Ausführung einer IoT-Regelaktion gebündelt werden.  
Mindestwert: 2 Nachrichten. Höchstwert: 10 Nachrichten  
Standardwert: 10 Nachrichten  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Nein

`maxBatchSizeBytes`  
Maximale Größe eines Nachrichtenstapels in Byte.  
Mindestwert: 100 Byte. Maximalwert: 131.072 Byte  
Standardwert: 5120 Byte  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Nein

**Wichtig**  
Wenn Sie mehrere Batch-Parameter angeben, wird die Batchverarbeitung abgeschlossen, wenn das erste Limit erreicht ist. Wenn Sie beispielsweise 100 ms als maximale Batch-Öffnungszeit und 5 KiB als maximale Batch-Größe angeben und Rules Engine innerhalb von 100 ms nur 2 KiB stapelt, wird ein 2-KB-Batch erstellt und gesendet.

## Verwendung von HTTP-Headern in einem Batch
<a name="batching_http_headers"></a>

Wenn Sie in Ihrer HTTP-Aktion Header verwenden, verwendet die Batch-Anfrage den Header-Wert der letzten Nachricht, die dem Batch hinzugefügt wurde (nicht unbedingt die letzte Nachricht, die Sie veröffentlicht haben). Wir empfehlen die Verwendung von Header-Werten, die entweder:
+ Identisch für alle Nachrichten im Batch
+ Gilt für alle Nachrichten (z. B. Authentifizierungsdaten)

Die Header werden mit der HTTP-Anfrage gesendet und sind nicht Teil des Nachrichtentexts.

**Anmerkung**  
Wenn Batching aktiviert ist:  
Die Batch-Anfrage enthält automatisch den `Content-Type: application/json` Header, da der Batch als JSON-Array gesendet wird.
Wir können nicht garantieren, dass die letzte Nachricht im Batch die letzte Nachricht ist, die Sie veröffentlicht haben. Es ist die letzte Nachricht, die es in den Stapel geschafft hat.

## Beispiel für eine Nutzlast
<a name="batching_payload"></a>

Das folgende Beispiel zeigt die Struktur einer gebündelten Nachrichtennutzlast, die an Ihren HTTP-Endpunkt gesendet wird:

```
[
  {
    "user_id": "user1",
    "steps_today": 1000
  },
  {
    "user_id": "user2",
    "steps_today": 21000
  },
  {
    "user_id": "user8",
    "steps_today": 1500
  },
  ...
]
```

## Einschränkungen
<a name="batching_limitations"></a>

Im Folgenden sind Einschränkungen für die Batchverarbeitung aufgeführt:
+ AWS IoT Core garantiert nicht die allgemeine Reihenfolge der Nachrichten. Die Batchverarbeitung erfolgt lokal auf jedem Host, was dazu führen kann, dass Nachrichten innerhalb eines Batches in einer anderen Reihenfolge verarbeitet werden, als sie empfangen wurden.
+ AWS IoT Core bietet keine Unterstützung für die Nachrichtenverarbeitung auf der Empfängerseite. Sie sind dafür verantwortlich, dass Ihr Downstream-Service so konfiguriert ist, dass er Daten stapelweise akzeptiert und verarbeitet.
+ Kontoübergreifendes Batching wird nicht unterstützt, auch wenn Nachrichten für dieselbe Ressourcen-ID (HTTP-URL oder Ressourcen-ARN) bestimmt sind.
+ AWS IoT Core garantiert nicht, dass die Batchgröße der von Ihnen angegebenen Konfiguration entspricht. Je nach Zeitpunkt und Nachrichtenfluss können Batches unter Ihren konfigurierten Grenzwerten liegen.
+ Wenn Batching aktiviert ist, werden binäre Payloads (Nicht-UTF-8-Daten) nicht unterstützt. Nur UTF-8-Textnutzlasten (wie JSON) werden akzeptiert. Um Binärdaten zu senden, kodieren Sie sie mit Base64, bevor Sie sie an die HTTP-Aktion senden, und dekodieren Sie sie dann an Ihrem Empfangsendpunkt. Sie können beispielsweise die [Encode-Funktion](iot-sql-functions.html#iot-function-encode) in IoT-Regeln verwenden, um die binäre Nutzlast zu codieren. Alternativ können Sie die binäre Nutzlast in Ihrem IoT-Gerät codieren und auf veröffentlichen. AWS IoT Core

## Fehleraktionen beim Batching
<a name="batching_errors"></a>

Sie können in Ihrer Fehleraktionsdefinition keine separate Batching-Logik definieren. Ihre Fehleraktion unterstützt jedoch die Batchverarbeitung, wenn Sie in Ihrer primären Aktion eine Batching-Logik definiert haben.

Wenn eine Batchanforderung fehlschlägt, folgt AWS IoT Core die Rules Engine der [Wiederholungslogik für HTTP-Aktionen](https-rule-action.md#https-rule-action-retry-logic). Nach dem letzten Wiederholungsversuch wird eine Fehleraktion für den gesamten fehlgeschlagenen Batch aufgerufen.

Im Folgenden finden Sie ein Beispiel für eine Fehlermeldung mit aktivierter Batchverarbeitung:

```
{
    "ruleName": "FailedTopicRule",
    "topic": "topic/rulesengine",
    "payloadsWithMetadata": [
        {
            "id": 1,
            "cloudwatchTraceId": "bebd6d93-6d4a-899e-9e40-56e82252d2be",
            "clientId": "Test",
            "sourceIp": "10.0.0.0",
            "base64OriginalPayload": "eyJ1c2VyX2lkIjogInVzZXI1NjQ3IiwgInN0ZXBzX3RvZGF5IjogMTMzNjUsICJ0aW1lc3RhbXAiOiAiMjAyNS0xMC0wOVQwNzoyMjo1OC45ODQ3OTAxNzZaIn0="
        },
        {
            "id": 2,
            "cloudwatchTraceId": "af94d3b8-0b18-1dbf-2c7d-513f5cb9e2e1",
            "clientId": "Test",
            "sourceIp": "10.0.0.0",
            "base64OriginalPayload": "eyJ1c2VyX2lkIjogInVzZXI1NjQ3IiwgInN0ZXBzX3RvZGF5IjogMTMzNjUsICJ0aW1lc3RhbXAiOiAiMjAyNS0xMC0wOVQwNzoyMjo1OC45ODQ3OTAxNzZaIn0="
        },
        {
            "id": 3,
            "cloudwatchTraceId": "ca441266-c2ce-c916-6aee-b9e5c7831675",
            "clientId": "Test",
            "sourceIp": "10.0.0.0",
            "base64OriginalPayload": "eyJ1c2VyX2lkIjogInVzZXI1NjQ3IiwgInN0ZXBzX3RvZGF5IjogMTMzNjUsICJ0aW1lc3RhbXAiOiAiMjAyNS0xMC0wOVQwNzoyMjo1OC45ODQ3OTAxNzZaIn0="
        }
    ],
    "failures": [
        {
            "affectedIds": [
                1,
                2,
                3
            ],
            "failedAction": "HttpAction",
            "failedResource": "https://example.foobar.com/HttpAction",
            "errorMessage": "HttpAction failed to make a request to the specified endpoint. StatusCode: 500. Reason: Internal Server Error."
        },
        {
            "affectedIds": [
                3
            ],
            "failedAction": "S3Action",
            "failedResource": "amzn-s3-demo-bucket",
            "errorMessage": "Failed to put S3 object. The error received was The specified bucket does not exist"
        },
        {
            "affectedIds": [
                3
            ],
            "failedAction": "LambdaAction",
            "failedResource": "arn:aws:lambda:us-west-2:123456789012:function:dummy",
            "errorMessage": "Failed to invoke lambda function. Received Server error from Lambda. The error code is 403"
        }
    ]
}
```

**Anmerkung**  
Fehler bei gebündelten Aktionen führen auch zu größeren Nutzlasten für Fehleraktionen, wodurch sich die Wahrscheinlichkeit erhöhen kann, dass Fehleraktionen aufgrund ihrer Größe fehlschlagen. Mithilfe der Metrik können Sie fehlgeschlagene Fehleraktionen überwachen. `ErrorActionFailure` Weitere Informationen finden Sie unter [Regelaktionsmetriken](metrics_dimensions.md#rule-action-metrics).

## Batching von HTTP-Aktionsnachrichten mit dem AWS CLI
<a name="batching_procedure"></a>

### Erstellen oder Aktualisieren einer Regelaktion mit Batching
<a name="batching_create_update_rule"></a>

1. Verwenden Sie den entsprechenden AWS CLI Befehl, um eine Regel zu erstellen oder zu aktualisieren:
   + Verwenden Sie den [create-topic-rule](https://docs.aws.amazon.com/cli/latest/reference/iot/create-topic-rule.html)folgenden Befehl, um eine neue Regel zu erstellen:

     ```
     aws iot create-topic-rule --rule-name myrule --topic-rule-payload file://myrule.json
     ```
   + Verwenden Sie den [replace-topic-rule](https://docs.aws.amazon.com/cli/latest/reference/iot/replace-topic-rule.html)folgenden Befehl, um eine bestehende Regel zu aktualisieren:

     ```
     aws iot replace-topic-rule --rule-name myrule --topic-rule-payload file://myrule.json
     ```

1. Aktivieren Sie die Batching-Funktionen, indem Sie den Parameter enableBatching in der Payload Ihrer Themenregel auf true setzen:

   ```
   {
           "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}" 
                            }
                       ],
                       "enableBatching": true,
                       "batchConfig": {
                          "maxBatchOpenMs": 100,
                          "maxBatchSize": 5,
                          "maxBatchSizeBytes": 1024
                       }
                   }
               }
         ]
   }
   ```

1. Konfigurieren Sie die Batching-Parameter. Sie müssen nicht alle Batch-Parameter angeben. Sie können wählen, ob Sie 1, 2 oder alle 3 Batch-Parameter angeben möchten. Wenn Sie keinen Batch-Parameter angeben, aktualisiert Rules Engine diesen Parameter mit den Standardwerten. Weitere Informationen zu Batching-Parametern und ihren Standardwerten finden Sie unter [HTTP-Parameter](https-rule-action.md#https-rule-action-parameters).

# Ziele für HTTP-Aktionen
<a name="http-action-destination"></a>

Ein HTTP-Aktionsziel ist ein Webdienst, an den die Regel-Engine Daten aus einer Themenregel weiterleiten kann. Eine AWS IoT Core Ressource beschreibt den Webdienst für AWS IoT. Zielressourcen können nach unterschiedlichen Regeln gemeinsam genutzt werden.

Bevor Daten an einen anderen Webdienst gesendet werden AWS IoT Core können, muss dieser bestätigen, dass er auf den Endpunkt des Dienstes zugreifen kann.

## -Übersicht
<a name="http-action-destination-overview"></a>

Ein HTTP-Aktionsziel bezieht sich auf einen Webdienst, der eine Bestätigungs-URL und eine oder mehrere Datenerfassungen unterstützt URLs. Die Zielressource enthält die Bestätigungs-URL Ihres Webdienstes. Wenn Sie eine HTTP-Aktion konfigurieren, geben Sie die tatsächliche URL des Endpunkts, der die Daten erhalten soll, zusammen mit der Bestätigungs-URL des Webdienstes an. Nachdem Ihr Ziel bestätigt wurde, sendet die Themenregel das Ergebnis der SQL-Anweisung an den HTTPS-Endpunkt (und nicht an die Bestätigungs-URL).

Ein HTTP-Aktionsziel kann sich in einem der folgenden Zustände befinden:

ENABLED (AKTIVIERT)  
Das Ziel wurde bestätigt und kann von einer Regelaktion verwendet werden. Ein Ziel muss den Zustand `ENABLED` aufweisen, damit es in einer Regel verwendet werden kann. Sie können nur Ziele im Status „DISABLED“ aktivieren.

DISABLED (DEAKTIVIERT)  
Das Ziel wurde bestätigt, kann aber nicht von einer Regelaktion verwendet werden. Dies ist nützlich, wenn Sie Datenverkehr zu Ihrem Endpunkt vorübergehend aussetzen möchten, ohne den Bestätigungsvorgang erneut durchlaufen zu müssen. Sie können nur Ziele mit dem Status „ENABLED“ deaktivieren.

IN\$1PROGRESS  
Die Bestätigung des Ziels wird ausgeführt.

ERROR  
Zeitüberschreitung bei der Zielbestätigung.

Nachdem ein HTTP-Aktionsziel bestätigt und aktiviert wurde, kann es mit jeder Regel in Ihrem Konto verwendet werden.

## Verwaltung von HTTP-Aktionszielen
<a name="http-action-destination-managing"></a>

Sie können die folgenden Operationen verwenden, um Ihre HTTP-Aktionsziele zu verwalten.

### HTTP-Aktionsziele erstellen
<a name="http-action-destination-creating"></a>

Sie erstellen ein HTTP-Aktionsziel, indem Sie den `CreateTopicRuleDestination` Vorgang aufrufen oder die AWS IoT Konsole verwenden.

Nachdem Sie ein Ziel erstellt haben, AWS IoT sendet eine Bestätigungsanfrage an die Bestätigungs-URL. Die Bestätigungsanforderung hat das folgende Format:

```
HTTP POST {confirmationUrl}/?confirmationToken={confirmationToken}
Headers:
x-amz-rules-engine-message-type: DestinationConfirmation
x-amz-rules-engine-destination-arn:"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4"
Content-Type: application/json
Body:
{
    "arn":"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4",  
    "confirmationToken": "AYADeMXLrPrNY2wqJAKsFNn-…NBJndA",
    "enableUrl": "https://iot.us-east-1.amazonaws.com/confirmdestination/AYADeMXLrPrNY2wqJAKsFNn-…NBJndA",
    "messageType": "DestinationConfirmation"
}
```

Der Inhalt der Bestätigungsanforderung umfasst die folgenden Informationen:

arn  
Der Amazon-Ressourcenname (ARN) für das zu bestätigende HTTP-Aktionsziel.

confirmationToken  
Das Bestätigungstoken, gesendet von AWS IoT Core. Das Token im Beispiel ist gekürzt. Ihr tatsächliches Token ist länger. Sie benötigen dieses Token, um Ihr Ziel mit AWS IoT Core zu bestätigen.

enableUrl  
Die URL, zu der Sie navigieren, um ein Themenregelziel zu bestätigen.

messageType  
Der Nachrichtentyp.

### Bestätigung der Ziele für HTTP-Aktionen
<a name="http-action-destination-confirming"></a>

Wenn Sie den Endpunkt-Bestätigungsprozess verwenden, müssen Sie die folgenden Schritte ausführen AWS CLI, nachdem Ihre Bestätigungs-URL die Bestätigungsanfrage erhalten hat.

1. 

**Vergewissern Sie sich, dass das Ziel bereit ist, Nachrichten zu empfangen**  
Um zu bestätigen, dass das HTTP-Aktionsziel bereit ist, IoT-Nachrichten zu empfangen, rufen Sie entweder die `enableUrl` in der Bestätigungsanfrage auf oder führen Sie den `ConfirmTopicRuleDestination` API-Vorgang `confirmationToken` aus und übergeben Sie die Bestätigungsanfrage.

1. 

**Setzen Sie den Status der Themenregel auf aktiviert**  
Nachdem Sie bestätigt haben, dass das Ziel Nachrichten empfangen kann, müssen Sie den `UpdateTopicRuleDestination` API-Vorgang ausführen, um den Status der Themenregel auf zu setzen`ENABLED`.

Wenn Sie die AWS IoT Konsole verwenden, kopieren Sie die `confirmationToken` und fügen Sie sie in das Bestätigungsdialogfeld des Ziels in der AWS IoT Konsole ein. Anschließend können Sie die Themenregel aktivieren.

### Senden einer neuen Bestätigungsanforderung
<a name="trigger-confirm"></a>

Zum Aktivieren einer neuen Bestätigungsnachricht für ein Ziel rufen Sie `UpdateTopicRuleDestination` auf und legen den Zustand des Themenregelziels auf `IN_PROGRESS` fest. 

Wiederholen Sie den Bestätigungsvorgang, nachdem Sie eine neue Bestätigungsanforderung gesendet haben.

### Deaktivieren und Löschen eines HTTP-Aktionsziels
<a name="http-action-destination-deleting"></a>

Zum Deaktivieren eines Ziels rufen Sie `UpdateTopicRuleDestination` auf und legen den Zustand des Themenregelziels auf `DISABLED` fest. Eine Themenregel mit dem Status DISABLED (DEAKTIVIERT) kann wieder aktiviert werden, ohne dass eine neue Bestätigungsanforderung gesendet werden muss.

Um ein HTTP-Aktionsziel zu löschen, rufen Sie an. `DeleteTopicRuleDestination`

## Support durch Zertifizierungsstellen
<a name="http-action-destination-certificates"></a>

**Anmerkung**  
Selbstsignierte Zertifikate werden nicht unterstützt. 

 HTTPS-Endpunkte in einem HTTP-Aktionsziel unterstützen Zertifikate, die sowohl von [AWS Private Certificate Authority](https://www.amazontrust.com/repository/) als auch von [Lets](https://letsencrypt.org/certificates/) Encrypt ausgestellt wurden. 