InvokeHTTP

 

Olá, seja bem-vindo a mais uma aula do curso Desenvolvimento com Apache Nifi.

Nesta aula vamos falar sobre o processor InvokeHTTP.

Este processor pode interagir dados de um endpoint HTTP configurável. A URL de destino e o método HTTP são configuráveis. Os atributos de FlowFile são convertidos em cabeçalhos HTTP e o conteúdo de FlowFile é incluído como o corpo da solicitação (se o Método HTTP for PUT, POST ou PATCH).

Abaixo temos uma lista com as suas propriedades:

HTTP Method: Método de solicitação HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS). Métodos arbitrários também são suportados. Métodos diferentes de POST, PUT e PATCH serão enviados sem um corpo de mensagem.


Remote URL: URL remoto ao qual será conectado, incluindo esquema, host, porta, caminho.


SSL Context Service: O Serviço de Contexto SSL usado para fornecer informações de certificado de cliente para conexões TLS/SSL (https). Também é usado para se conectar ao proxy HTTPS.


Connection Timeout: Tempo máximo de espera para conexão ao serviço remoto.


Read Timeout: Tempo máximo de espera para resposta do serviço remoto.


Idle Timeout: Tempo máximo ocioso antes de fechar a conexão com o serviço remoto.


Max Idle Connections: Número máximo de conexões inativas a serem mantidas abertas.


Include Date Header: Inclua um cabeçalho de data RFC-2616 na solicitação.


Follow Redirects: Siga os redirecionamentos HTTP emitidos pelo servidor remoto.


Cookie Strategy: Estratégia para aceitar e persistir cookies HTTP. Aceitar cookies permite a persistência em várias solicitações.


Disable HTTP/2: Determina se deve ou não desabilitar o uso da versão do protocolo HTTP/2. Se desabilitado, apenas HTTP/1.1 é suportado.


FlowFile Naming Strategy: Determina a estratégia usada para definir o atributo filename do FlowFile.


Attributes to Send: Expressão regular que define quais atributos enviar como cabeçalhos HTTP na solicitação. Se não for definido, nenhum atributo será enviado como cabeçalho. Além disso, qualquer conjunto de propriedades dinâmicas será enviado como cabeçalho. A chave da propriedade dinâmica será a chave do cabeçalho e o valor da propriedade dinâmica será interpretado como a linguagem da expressão será o valor do cabeçalho.


Useragent: O identificador Useragent enviado junto com cada solicitação


Basic Authentication Username: O nome de usuário a ser usado pelo cliente para autenticação na URL remota. Não pode incluir caracteres de controle (0-31), ':' ou DEL (127).


Basic Authentication Password: A senha a ser usada pelo cliente para autenticar na URL remota.Propriedade sensível: true


OAuth2 Access Token provider: Nenhuma descrição fornecida.


Proxy Configuration Service: Especifica o serviço do controlador de configuração de proxy para solicitações de rede de proxy. Se definido, ele substitui as configurações de proxy configuradas por componente. Proxies suportados: HTTP + AuthN, SOCKS


Proxy Host: O nome de host ou endereço IP totalmente qualificado do servidor proxySuporta Expression Language: true (será avaliado usando apenas registro de variável)


Proxy Port: A porta do servidor proxySuporta Expression Language: true (será avaliado usando apenas registro de variável)


Proxy Type: O tipo de proxy ao qual estamos nos conectando. Deve ser http ou httpsSuporta Expression Language: true (será avaliado usando apenas registro de variável)


Proxy Username: Nome de usuário para definir ao autenticar no proxy


Proxy Password: Senha para definir ao autenticar no proxy


Put Response Body In Attribute: Se definido, o corpo da resposta recebido de volta será colocado em um atributo do FlowFile original em vez de um FlowFile separado. A chave de atributo a ser colocada é determinada pela avaliação do valor dessa propriedade.Suporta Expression Language: true (será avaliado usando atributos de arquivo de fluxo e registro de variável)


Max Length To Put In Attribute: Se rotear o corpo da resposta para um atributo do original (definindo a propriedade "Colocar corpo da resposta no atributo" ou recebendo um código de status de erro), o número de caracteres colocados no valor do atributo será no máximo esse valor. Isso é importante porque os atributos são mantidos na memória e atributos grandes causarão rapidamente problemas de falta de memória. Se a saída for maior que esse valor, ela será truncada para caber


Use Digest Authentication: Se deve se comunicar com o site usando a autenticação Digest. 'Nome de usuário de autenticação básica' e 'Senha de autenticação básica' são usados para autenticação.


Always Output Response: Forçará um FlowFile de resposta a ser gerado e roteado para o relacionamento 'Response', independentemente de qual seja o código de status do servidor recebido ou se o processador estiver configurado para colocar o corpo da resposta do servidor no atributo de solicitação. Na configuração posterior, uma solicitação FlowFile com o corpo da resposta no atributo e uma resposta típica FlowFile serão emitidas para seus respectivos relacionamentos.


Add Response Headers to Request: A ativação dessa propriedade salva todos os cabeçalhos de resposta na solicitação original. Isso pode ocorrer quando os cabeçalhos de resposta são necessários, mas uma resposta não é gerada devido ao código de status recebido.


Content-Type: O Content-Type a ser especificado para quando o conteúdo está sendo transmitido por meio de um PUT, POST ou PATCH. No caso de um valor vazio após a avaliação de uma expressão de linguagem de expressão, o Content-Type assume como padrão application/octet-streamSuporta Expression Language: true (será avaliado usando atributos de arquivo de fluxo e registro de variável)


Send Message Body: Se true, envia o corpo da mensagem HTTP em solicitações POST/PUT/PATCH (padrão). Se false, suprime o corpo da mensagem e o cabeçalho do tipo de conteúdo para essas solicitações.


Use Chunked Encoding: Quando o conteúdo POST'ing, PUT'ing ou PATCH'ing é definido como true para não passar o cabeçalho 'Content-length' e, em vez disso, enviar 'Transfer-Encoding' com um valor de 'chunked'. Isso permitirá que o mecanismo de transferência de dados que foi introduzido no HTTP 1.1 passe dados de comprimentos desconhecidos em partes.


Penalize on "No Retry": A ativação desta propriedade penalizará os FlowFiles que são roteados para o relacionamento "No Retry".


Use HTTP ETag: Habilite o suporte de tag de entidade HTTP (ETag) para solicitações HTTP.


Maximum ETag Cache Size: O tamanho máximo que o cache ETag deve ter permissão para crescer. O tamanho padrão é 10 MB.


Ignore response's content: Se true, o processador não gravará o conteúdo da resposta no arquivo de fluxo.


FlowFile Form Data Name: Quando Send Message Body for true e o FlowFile Form Data Name for definido, o FlowFile será enviado como o corpo da mensagem em formato multipart/form com este valor como o nome de dados do formulário.Suporta Expression Language: true (será avaliado usando atributos de arquivo de fluxo e registro de variável)


Set FlowFile Form Data File Name: Quando Send Message Body for true, FlowFile Form Data Name for definido e Set FlowFile Form Data File Name for true, o valor fileName do FlowFile será definido como a propriedade filename dos dados do formulário.