HTTP
A ação HTTPS (http
) envia dados de uma mensagem MQTT para um aplicativo ou serviço web.
Requisitos
Esta ação de regra tem os seguintes requisitos:
-
Você deve confirmar e ativar os endpoints HTTPS antes que o mecanismo de regras possa usá-los. Para obter mais informações, consulte Como trabalhar com destinos de regra de tópico HTTP.
Parâmetros
Ao criar uma regra AWS IoT com esta ação, você deve especificar as seguintes informações:
url
-
O endpoint HTTPS para o qual a mensagem é enviada usando o método HTTP POST. Se você usar um endereço IP no lugar de um nome de host, ele deverá ser um endereço IPv4. Os endereços IPv6 elásticos não são compatíveis.
Compatível com modelos de substituição: Sim
confirmationUrl
-
(Opcional) Se especificado, a AWS IoT usa o URL de confirmação para criar um destino de regra de tópico correspondente. Você deve ativar o destino da regra de tópico antes de usá-lo em uma ação HTTP. Para obter mais informações, consulte Como trabalhar com destinos de regra de tópico HTTP. Se você usar modelos de substituição, deverá criar manualmente destinos de regra de tópico antes que a ação
http
possa ser usada.confirmationUrl
Deve ser um prefixo deurl
.A relação entre
url
econfirmationUrl
é descrita pelo seguinte:-
Se
url
for codificado econfirmationUrl
não for fornecido, tratamos implicitamente o campourl
comoconfirmationUrl
. A AWS IoT cria um destino de regra de tópico paraurl
. -
Se
url
econfirmationUrl
forem codificados,url
deverá começar comconfirmationUrl
. A AWS IoT cria um destino de regra de tópico paraconfirmationUrl
. -
Se
url
contiver um modelo de substituição, você deverá especificarconfirmationUrl
eurl
deverá começar comconfirmationUrl
. SeconfirmationUrl
contiver modelos de substituição, você deverá criar manualmente destinos de regra de tópico antes que a açãohttp
possa ser usada. SeconfirmationUrl
não contiver modelos de substituição, a AWS IoT criará um destino de regra de tópico paraconfirmationUrl
.
Compatível com modelos de substituição: Sim
-
headers
-
(Opcional) A lista de cabeçalhos a serem incluídos nas solicitações HTTP para o endpoint. Cada cabeçalho deve conter as seguintes informações:
key
-
A chave do cabeçalho.
Compatível com modelos de substituição: Não
value
-
O valor do cabeçalho.
Compatível com modelos de substituição: Sim
nota
O tipo de conteúdo padrão é application/json quando a carga está no formato JSON. Caso contrário, é application/octet-stream. Você pode substituí-lo especificando o tipo de conteúdo exato no cabeçalho com o tipo de conteúdo da chave (sem distinção entre maiúsculas e minúsculas).
auth
-
(Opcional) A autenticação usada pelo mecanismo de regras para se conectar ao URL do endpoint especificado no argumento
url
. Atualmente, o Signature versão 4 é o único tipo de autenticação suportado. Para obter mais informações, consulte Autorização HTTP.Compatível com modelos de substituição: Não
Exemplos
O exemplo JSON a seguir define uma regra AWS IoT com uma ação 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}" } ] } } ] } }
Lógica de repetição da ação HTTP
O mecanismo de regras AWS IoT tenta novamente a ação HTTP conforme estas regras:
-
O mecanismo de regras tenta enviar uma mensagem pelo menos uma vez.
-
O mecanismo de regras tenta novamente no máximo duas vezes. O número máximo de tentativas é três.
-
O mecanismo de regras não fará uma nova tentativa se:
-
A tentativa anterior tiver fornecido uma resposta maior do que 16.384 bytes.
-
O serviço ou aplicativo web downstream fechar a conexão TCP após a tentativa.
-
O tempo total para concluir uma solicitação com repetições tiver excedido o limite de tempo limite da solicitação.
-
A solicitação retorna um código de status HTTP diferente de 429, 500–599.
-
nota
Custos padrão de transferência de dados
Consulte também
-
Encaminhe dados diretamente de AWS IoT Core para seus serviços da Web
na Internet das Coisas no blog AWS