Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
La acción HTTPS (http
) envía datos de un MQTT mensaje a una aplicación o servicio web.
Requisitos
Esta regla tiene los siguientes requisitos:
-
Debe confirmar y habilitar los HTTPS puntos finales antes de que el motor de reglas pueda usarlos. Para obtener más información, consulte Trabajar con destinos de reglas HTTP temáticas.
Parámetros
Al crear una AWS IoT regla con esta acción, debe especificar la siguiente información:
url
-
El HTTPS punto final al que se envía el mensaje mediante el HTTP POST método. Si utiliza una dirección IP en lugar de un nombre de host, debe ser una IPv4 dirección. IPv6no se admiten direcciones.
Admite plantillas de sustitución: Sí
confirmationUrl
-
(Opcional) Si se especifica, AWS IoT utiliza la confirmación URL para crear un destino de regla temática coincidente. Debe habilitar el destino de la regla del tema para poder usarlo en una acción HTTP. Para obtener más información, consulte Trabajar con destinos de reglas HTTP temáticas. Si utiliza plantillas de sustitución, debe crear manualmente destinos de reglas de tema para poder utilizar la acción
http
.confirmationUrl
debe ser un prefijo deurl
.La relación entre
url
yconfirmationUrl
se describe de la siguiente manera:-
Si
url
está codificado y noconfirmationUrl
se proporciona, tratamos implícitamente elurl
campo como.confirmationUrl
AWS IoT crea un tema de destino para la regla.url
-
Si
url
yconfirmationUrl
están codificados,url
deben empezarconfirmationUrl
por. AWS IoT crea un tema, regla de destino paraconfirmationUrl
. -
Si
url
contiene una plantilla de sustitución, debe especificarconfirmationUrl
yurl
debe comenzar porconfirmationUrl
. SiconfirmationUrl
contiene plantillas de sustitución, debe crear manualmente destinos de reglas del tema para poder utilizar la acciónhttp
. SiconfirmationUrl
no contiene plantillas de sustitución, AWS IoT crea un destino de regla temática paraconfirmationUrl
.
Admite plantillas de sustitución: Sí
-
headers
-
(Opcional) La lista de encabezados que se van a incluir en HTTP las solicitudes al punto final. Cada encabezado debe contener la siguiente información:
key
-
La clave del encabezado.
Admite plantillas de sustitución: No
value
-
El valor del encabezado.
Admite plantillas de sustitución: Sí
nota
El tipo de contenido predeterminado es application/json when the payload is in JSON format. Otherwise, it is application/octet -stream. Puede sobrescribirlo especificando el tipo de contenido exacto en el encabezado con el tipo de contenido de la clave (sin distinción entre mayúsculas y minúsculas).
auth
-
(Opcional) La autenticación utilizada por el motor de reglas para conectarse al punto final URL especificado en el
url
argumento. Actualmente, Signature Version 4 es el único tipo de autenticación admitido. Para obtener más información, consulte HTTPAutorización.Admite plantillas de sustitución: No
Ejemplos
El siguiente JSON ejemplo define una AWS IoT regla con una HTTP acción.
{
"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}"
}
]
}
}
]
}
}
HTTPlógica de reintento de acción
El motor de AWS IoT reglas vuelve a intentar la HTTP acción de acuerdo con estas reglas:
-
El motor de reglas intenta enviar un mensaje al menos una vez.
-
El motor de reglas realiza como máximo dos reintentos. El número máximo de intentos es tres.
-
El motor de reglas no realiza un reintento si:
-
El intento anterior proporcionó una respuesta mayor de 16.384 bytes.
-
La aplicación o el servicio web descendente cierra la TCP conexión tras el intento.
-
El tiempo total para completar una solicitud con reintentos superó el límite de tiempo de espera de la solicitud.
-
La solicitud devuelve un código de HTTP estado distinto del 429, 500-599.
-
nota
Se aplican costos estándar de transferencia de datos
Véase también
-
Enrute los datos directamente desde AWS IoT Core sus servicios web
en el blog de Internet de las cosas AWS