Associações de saída HTTP do Azure Functions

Funções acionadas por HTTP usam saída HTTP para responder ao remetente da requisição HTTP. Na maioria das linguagens, essa saída é representada como uma ligação de saída HTTP. No Go, as respostas HTTP são escritas diretamente com o http.ResponseWriter passe para o seu manipulador de gatilho HTTP, em vez de uma configuração separada de vinculação de saída.

O valor de retorno padrão para uma função disparada por HTTP é:

  • HTTP 204 No Content com um corpo vazio no Functions 2.x e superior
  • HTTP 200 OK com um corpo vazio no Functions 1.x

Atributo

Um atributo de valor retornado não é necessário ao usar HttpResponseData. No entanto, ao usar uma integração ASP.NET Core e objetos de saída de várias ligações, o [HttpResultAttribute] atributo deve ser aplicado à propriedade do objeto. O atributo não usa parâmetros. Para saber mais, confira Uso.

Anotações

Na biblioteca de runtime de funções Java, use a anotação HttpOutput para definir uma variável de saída diferente da variável padrão retornada pela função. Essa anotação dá suporte às seguintes configurações:

Importante

Este artigo usa guias para dar suporte a várias versões do modelo de programação Node.js. O modelo v4 normalmente está disponível e foi projetado para oferecer uma experiência mais flexível e intuitiva para desenvolvedores de JavaScript e TypeScript. Para obter mais detalhes sobre como funciona o modelo v4, consulte o Guia do desenvolvedor do Node.js para o Azure Functions. Para conhecer as diferenças entre a v3 e a v4, veja o guia de migração.

Configuração

Atualmente, o objeto options transmitido para o método output.http() não dá suporte a nenhuma propriedade do modelo v4.

Configuração

A tabela a seguir explica as propriedades de configuração de associação que você define no arquivo function.json.

Propriedade Descrição
tipo Deve ser definido como http.
direction Deve ser definido como out.
name O nome da variável usada no código de função para a resposta, ou $return para usar o valor de retorno.

No Go, a saída HTTP é gerenciada pelo padrão http.ResponseWriter que é passado para o seu gestor de gatilhos HTTP. Você escreve sua resposta diretamente usando o autor. Não é necessária uma configuração separada de vinculação de saída.

func hello(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Content-Type", "application/json")
    w.WriteHeader(http.StatusOK)
    fmt.Fprintf(w, `{"message": "Hello from Go!"}`)
}

Uso

Para enviar uma resposta HTTP, use os padrões de resposta padrão do idioma.

No .NET, o tipo de resposta depende do modo C#:

A função acionada por HTTP retorna um objeto de um dos seguintes tipos:

  • IActionResult1 (ou Task<IActionResult>)
  • Resposta Http1 (ou Task<HttpResponse>)
  • HttpResponseData (ou Task<HttpResponseData>)
  • Tipos serializáveis JSON que representam o corpo da resposta para uma 200 OK resposta.

1 Esse tipo só está disponível ao usar ASP.NET integração principal.

Quando um desses tipos é usado como parte de objetos de saída de várias associações, o [HttpResult] atributo deve ser aplicado à propriedade do objeto. O atributo não usa parâmetros.

Para Java, use um HttpResponseMessage.Builder para criar uma resposta ao gatilho HTTP. Para saber mais, confira HttpRequestMessage e HttpResponseMessage.

Por ver exemplos de respostas, confira o exemplo de gatilho.

Próximas etapas