Executar uma função do Azure com uma solicitação HTTP

Concluído

Uma solicitação HTTP é uma operação comum na maioria das plataformas e dos dispositivos. Seja uma solicitação para pesquisar uma palavra em um dicionário, seja para obter informações sobre o clima local, enviamos solicitações HTTP o tempo todo. O Azure Functions nos permite criar rapidamente uma parte da lógica a ser executada quando uma solicitação HTTP é recebida.

Nesta unidade, você aprenderá a criar e invocar uma função utilizando um gatilho HTTP. Você também vai explorar algumas das opções de personalização disponíveis para gatilhos HTTP.

O que é um gatilho HTTP?

Um gatilho HTTP é um gatilho que executa um código quando recebe uma solicitação HTTP. Os gatilhos HTTP tem muitas funcionalidades e personalizações, incluindo:

  • Fornecimento de acesso autorizado por meio do fornecimento de chaves.
  • Restringir quais verbos HTTP têm suporte.
  • Retornando os dados para o chamador.
  • Recebendo dados por meio de parâmetros de cadeia de caracteres de consulta ou por meio do corpo da solicitação.
  • Dando suporte a modelos de rota de URL para modificar a URL da função.

Quando você cria um gatilho HTTP, precisa fornecer um nome para o gatilho e escolher um nível de autorização.

O que é um Nível de autorização do gatilho HTTP?

Um nível de autorização de gatilho HTTP é um sinalizador que indica se uma solicitação HTTP de entrada precisa de uma chave de API para autorização.

Há três níveis de autorização:

  1. Função
  2. Anônima
  3. Administrador

Os níveis Função e Administrador são baseados em "chave". Para enviar uma solicitação HTTP, você deve fornecer uma chave para autorização. Há dois tipos de chaves: de função e de host. A diferença entre as duas chaves é seu escopo. As chaves de função são específicas de uma função. As chaves de host aplicam-se a todas as funções dentro do aplicativo de funções. Se o Nível de autorização for definido como Função, use uma chave de função ou de host. Se o Nível de autorização for definido como Administrador, você deverá fornecer uma chave de host.

Importante

Como as chaves de host fornecem acesso elevado ao seu aplicativo de funções, você deve transportá-las e armazená-las de forma segura.

O nível Anônimo significa que a autorização não é exigida. Este exercício usa o nível de autorização Anônimo.

Como criar um gatilho HTTP

Assim como um gatilho de temporizador, você pode criar um gatilho HTTP por meio do portal do Azure. Dentro de sua função do Azure, selecione Gatilho HTTP na lista de tipos de gatilho predefinidos e insira a lógica que você deseja executar e faça personalizações, como restringir o uso de determinados verbos HTTP.

Uma configuração que é importante entender é o Nome do parâmetro de solicitação. Essa configuração é uma cadeia de caracteres que representa o nome do parâmetro que contém as informações sobre uma solicitação HTTP de entrada. Por padrão, o nome do parâmetro é req.

Como invocar um gatilho HTTP

Para invocar um gatilho HTTP, envie uma solicitação HTTP para a URL da função. Para obter essa URL, acesse a página de código da função e selecione o link Obter URL da função.

Screenshot of the Azure portal showing a Functions App pane with the app's Get function URL button highlighted.

Depois que você tiver a URL da função, poderá enviar solicitações HTTP. Se sua função receber dados, lembre-se de que você pode utilizar os parâmetros de cadeia de caracteres de consulta ou fornecer os dados por meio do corpo da solicitação.

Um gatilho HTTP é executado quando recebe uma solicitação HTTP para a URL da sua função. Os gatilhos HTTP permitem que você receba dados, execute a logica e, opcionalmente, retorne os dados de volta ao chamador.