Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
HTTP
L'action HTTPS (http
) envoie les données d'un message MQTT à une application ou un service Web.
Prérequis
Ce rôle d’action possède les critères suivants :
-
Vous devez confirmer et activer les points de terminaison HTTPS avant que le moteur de règles puisse les utiliser. Pour plus d’informations, consultez Utilisation des destinations des règles de rubrique HTTP.
Paramètres
Lorsque vous créez une AWS IoT règle avec cette action, vous devez spécifier les informations suivantes :
url
-
Point de terminaison HTTPS à l'endroit où le message est envoyé à l'aide de la méthode HTTP POST. Si vous utilisez une adresse IP à la place d'un nom d'hôte, il doit s'agir d'une adresse IPv4. Les adresses IPv6 ne sont pas prises en charge.
Prend en charge les modèles de substitution : Oui
confirmationUrl
-
(Facultatif) Si cela est spécifié, AWS IoT utilise l'URL de confirmation pour créer une destination de règle de sujet correspondante. Vous devez activer la destination de la règle avant de l'utiliser dans une action HTTP. Pour plus d’informations, consultez Utilisation des destinations des règles de rubrique HTTP. Si vous utilisez des modèles de substitution, vous devez créer manuellement des destinations de règles de rubrique avant que l'action
http
puisse être utilisée.confirmationUrl
doit être un préfixe deurl
.La relation entre
url
etconfirmationUrl
est décrite par les éléments suivants :-
S'il
url
est codé en dur et n'confirmationUrl
est pas fourni, nous traitons implicitement leurl
champ comme le.confirmationUrl
AWS IoT crée une destination de règle de sujet poururl
. -
Si
url
etconfirmationUrl
sont codés en dur, celaurl
doit commencerconfirmationUrl
par. AWS IoT crée une destination de règle de sujet pourconfirmationUrl
. -
Si
url
contient un modèle de substitution, vous devez spécifierconfirmationUrl
eturl
doit commencer parconfirmationUrl
. SiconfirmationUrl
contient des modèles de substitution, vous devez créer manuellement des destinations de règle de rubrique avant que l'actionhttp
puisse être utilisée. S'ilconfirmationUrl
ne contient pas de modèles de substitution, AWS IoT crée une destination de règle de sujet pourconfirmationUrl
.
Prend en charge les modèles de substitution : Oui
-
headers
-
(Facultatif) La liste des en-têtes à inclure dans les requêtes HTTP adressées au point de terminaison. Chaque entête doit contenir les informations suivantes.
key
-
La clé de l'en-tête.
Prend en charge les modèles de substitution: Non
value
-
Valeur de l'en-tête.
Prend en charge les modèles de substitution: Oui
Note
Le type de contenu par défaut est application/json lorsque la charge utile est au format JSON. Sinon, il s'agit de application/octet-stream. Vous pouvez le remplacer en spécifiant le type de contenu exact dans l'en-tête avec le type de contenu clé (insensible à la casse).
auth
-
(Facultatif) L'authentification utilisée par le moteur de règles pour se connecter à l'URL du point final spécifié dans
url
l'argument. Actuellement, Signature Version 4 est le seul type d'authentification pris en charge. Pour de plus amples informations, veuillez consulter Autorisation HTTP.Prend en charge les modèles de substitution : Non
Exemples
L'exemple JSON suivant définit une AWS IoT règle avec une action HTTP.
{ "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}" } ] } } ] } }
Logique de nouvelle tentative d'action HTTP
Le moteur de AWS IoT règles tente à nouveau l'action HTTP conformément aux règles suivantes :
-
Le moteur de règles essaie d'envoyer un message au moins une fois.
-
Le moteur de règles effectue au plus deux nouvelles tentatives. Le nombre maximum de nouvelles tentatives est trois.
-
Le moteur de règles n'effectue pas de nouvelle tentative si :
-
L'essai précédent a fourni une réponse de plus de 16 384 octets.
-
Le service web ou l'application en aval ferme la connexion TCP après la tentative.
-
Le temps total d'exécution d'une demande avec tentatives a dépassé la limite de temporisation de la demande.
-
La requête renvoie un code d'état HTTP autre que 429, 500-599.
-
Note
Les coûts standard de transfert de données
Consultez aussi
-
Acheminez les données directement depuis AWS IoT Core vos services Web
dans l'Internet des objets sur le AWS blog