

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

A ação HTTPS (`http`) envia dados de uma mensagem MQTT para um endpoint HTTPS, que pode apontar para um aplicativo ou serviço web.

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

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 [Destinos de ação HTTP](http-action-destination.md).

## Parâmetros
<a name="https-rule-action-parameters"></a>

Ao criar uma AWS IoT regra com essa 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 IPv4 endereço. IPv6 endereços não são suportados.  
Compatível com [modelos de substituição](iot-substitution-templates.md): Sim

`confirmationUrl`  
(Opcional) Se especificado, AWS IoT usa o URL de confirmação para criar um destino de regra de tópico correspondente. Você deve habilitar o destino da ação HTTP antes de usá-la em uma ação HTTP. Para obter mais informações, consulte [Destinos de ação HTTP](http-action-destination.md). Se você usar modelos de substituição, deverá criar manualmente um destino de ação HTTP antes que a `http` ação possa ser usada. `confirmationUrl`deve ser um prefixo de. `url`  
A relação entre `url` e `confirmationUrl` é descrita pelo seguinte:  
+ Se `url` estiver codificado e não `confirmationUrl` for fornecido, tratamos implicitamente o `url` campo como o. `confirmationUrl` AWS IoT cria um destino de regra de tópico para`url`.
+ Se `url` e `confirmationUrl` estiverem codificados, `url` deve começar com. `confirmationUrl` AWS IoT cria um destino de regra de tópico para`confirmationUrl`.
+ Se `url` contiver um modelo de substituição, você deverá especificar `confirmationUrl` e `url` deverá começar com `confirmationUrl`. Se `confirmationUrl` contiver modelos de substituição, você deverá criar manualmente um destino de ação HTTP antes que a `http` ação possa ser usada. Se `confirmationUrl` não contiver modelos de substituição, AWS IoT cria um destino de regra de tópico para`confirmationUrl`.
Compatível com [modelos de substituição](iot-substitution-templates.md): 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](iot-substitution-templates.md): Não  
`value`  
O valor do cabeçalho.  
Compatível com [modelos de substituição](iot-substitution-templates.md): Sim
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](https://docs.aws.amazon.com/iot/latest/apireference/API_HttpAuthorization.html).  
Compatível com [modelos de substituição](iot-substitution-templates.md): Não

`enableBatching`  
(Opcional) Se as mensagens de ação HTTP devem ser processadas em uma única solicitação para um determinado URL. O valor pode ser verdadeiro ou falso. Para obter mais informações sobre agrupamento em lotes, consulte Mensagens de [ação HTTP em lotes](http_batching.md).  
Valor booleano  
Compatível com [modelos de substituição](iot-substitution-templates.md): Não

`batchConfig`  
(Opcional) Configurações para agrupamento em lotes. Depois de ativados, `batchConfig` os parâmetros devem ser especificados. Se `batchConfig` os parâmetros não forem especificados, os valores padrão serão usados.    
`maxBatchOpenMs`  
O tempo máximo (em milissegundos) que uma mensagem de saída espera por outras mensagens para criar o lote. Quanto maior a configuração, maior a latência da ação HTTP em lote.  
Valor mínimo: 5 ms. Valor máximo: 200 ms.  
Valor padrão: 20 ms  
Compatível com [modelos de substituição](iot-substitution-templates.md): Não  
`maxBatchSize`  
O número máximo de mensagens que são agrupadas em lotes em uma única execução de ação.  
Compatível com [modelos de substituição](iot-substitution-templates.md): Não  
Valor mínimo: 2 mensagens. Valor máximo: 10 mensagens  
Valor padrão: 10 mensagens  
`maxBatchSizeBytes`  
Tamanho máximo de um lote de mensagens, em bytes.  
Valor mínimo: 100 bytes. Valor máximo: 131.072 bytes  
Valor padrão: 5.120 bytes  
Compatível com [modelos de substituição](iot-substitution-templates.md): Não
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). 

## Exemplos
<a name="https-rule-action-examples"></a>

O exemplo de JSON a seguir define uma AWS IoT regra 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}" 
                        }
                    ] 
                } 
            }
        ]
    }
}
```

```
"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
        }
}
```

## Lógica de repetição da ação HTTP
<a name="https-rule-action-retry-logic"></a>

O mecanismo de AWS IoT regras tenta novamente a ação HTTP de acordo com 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](https://aws.amazon.com/ec2/pricing/on-demand/) se aplicam a novas tentativas.

## Consulte também
<a name="https-rule-action-see-also"></a>
+ [Agrupar mensagens de ação HTTP em lote](http_batching.md)
+ [Destinos de ação HTTP](http-action-destination.md)
+ [Encaminhe dados diretamente AWS IoT Core para seus serviços da Web](https://aws.amazon.com/blogs/iot/route-data-directly-from-iot-core-to-your-web-services/) na *Internet das Coisas no AWS* blog