Quickstart: Criar uma função Go ou Rust em Azure usando Código de Estúdio Visual

Neste artigo, utiliza o Código do Estúdio Visual para criar uma função de manipulador personalizado que responde aos pedidos HTTP. Depois de testar o código localmente, implemente-o para o ambiente sem servidor das Funções Azure.

Os manipuladores personalizados podem ser utilizados para criar funções em qualquer idioma ou tempo de execução, executando um processo de servidor HTTP. Este artigo apoia tanto Go como Rust.

Completar este quickstart incorre num pequeno custo de alguns usd ou menos na sua conta Azure.

Configurar o ambiente

Antes de começar, certifique-se de que tem os seguintes requisitos em vigor:

Crie o seu projeto local

Nesta secção, você usa o Código do Estúdio Visual para criar um projeto local de manipuladores personalizados Azure Functions. Mais adiante neste artigo, irá publicar o seu código de função no Azure.

  1. Selecione o ícone do Azure na barra de Atividade e, em seguida, na área Azure: Funções, selecione o ícone Criar novo projeto....

    Selecione Criar um novo projeto

  2. Selecione uma localização do diretório para a área de trabalho do seu projeto e escolha Selecionar.

    Nota

    Estes passos foram concebidos para serem concluídos fora de um espaço de trabalho. Neste caso, não selecione uma pasta de projeto que faz parte de uma área de trabalho.

  3. Forneça as seguintes informações nos pedidos:

    • Selecione um idioma para o seu projeto de função: Selecione Custom.

    • Selecione um modelo para a primeira função do seu projeto: Selecione HTTP trigger.

    • Forneça um nome de função: Escreva HttpExample.

    • Nível de autorização: Anonymous Escolha, que permite a qualquer pessoa ligar para o ponto final da sua função. Para saber mais sobre o nível de autorização, consulte as teclas de Autorização.

    • Selecione como gostaria de abrir o seu projeto: Selecione Add to workspace.

  4. Utilizando esta informação, o Visual Studio Code gera um projeto Azure Functions com uma função de gatilho HTTP. Pode ver os ficheiros de projeto locais no Explorer. Para saber mais sobre ficheiros que são criados, consulte os ficheiros do projeto Gerados.

Criar e construir a sua função

A function.jsficheiro na pasta HttpExample declara uma função de gatilho HTTP. Completa-se a função adicionando um manipulador e compilando-a num executável.

  1. Prima Ctrl + N (Cmd + N no macOS) para criar um novo ficheiro. Guarde-o como handler.go na raiz da aplicação de função (na mesma pasta quehost.js).

  2. Em handler.go, adicione o seguinte código e guarde o ficheiro. Este é o seu manipulador personalizado Go.

    package main
    
    import (
        "fmt"
        "log"
        "net/http"
        "os"
    )
    
    func helloHandler(w http.ResponseWriter, r *http.Request) {
        message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n"
        name := r.URL.Query().Get("name")
        if name != "" {
            message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name)
        }
        fmt.Fprint(w, message)
    }
    
    func main() {
        listenAddr := ":8080"
        if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok {
            listenAddr = ":" + val
        }
        http.HandleFunc("/api/HttpExample", helloHandler)
        log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr)
        log.Fatal(http.ListenAndServe(listenAddr, nil))
    }
    
  3. Prima Ctrl + Shift + ' ou selecione Novo Terminal a partir do menu Terminal para abrir um novo terminal integrado no Código VS.

  4. Compile o seu manipulador personalizado utilizando o seguinte comando. Um ficheiro executável denominado handler handler.exe (no Windows) é a saída na pasta raiz da aplicação de função.

    go build handler.go
    

    VS Code - Build Go personal handler

Configure a sua aplicação de função

O anfitrião da função precisa de ser configurado para executar o binário do seu manipulador habitual quando começar.

  1. Abra host.js.

  2. Na customHandler.description secção, desacione o valor de defaultExecutablePath handler (no Windows, desapedahá-lo para handler.exe ).

  3. Na customHandler secção, adicione um imóvel nomeado enableForwardingHttpRequest e desaveri o seu valor para true . Para funções que consistem apenas num gatilho HTTP, esta definição simplifica a programação, permitindo-lhe trabalhar com um pedido HTTP típico em vez da carga útildo pedido de pedido de encomenda personalizado .

  4. Confirme que a customHandler secção parece este exemplo. Guarde o ficheiro.

    "customHandler": {
      "description": {
        "defaultExecutablePath": "handler",
        "workingDirectory": "",
        "arguments": []
      },
      "enableForwardingHttpRequest": true
    }
    

A aplicação de função está configurada para iniciar o seu manipulador personalizado executável.

Executar a função localmente

Pode executar este projeto no seu computador de desenvolvimento local antes de publicar para a Azure.

  1. No terminal integrado, inicie a aplicação de função utilizando ferramentas principais de funções Azure.

    func start
    
  2. Com as Ferramentas Core em execução, navegue para o seguinte URL para executar um pedido GET, que inclui ?name=Functions cadeia de consulta.

    http://localhost:7071/api/HttpExample?name=Functions

  3. Uma resposta é devolvida, que se parece com o seguinte num browser:

    Browser - saída de exemplo local

  4. As informações sobre o pedido são mostradas no painel terminal.

    Início do anfitrião de tarefas - saída do terminal de código VS

  5. Prima Ctrl + C para parar as Ferramentas Core.

Depois de verificar que a função funciona corretamente no seu computador local, é hora de usar o Código do Estúdio Visual para publicar o projeto diretamente para o Azure.

Iniciar sessão no Azure

Antes de poder publicar a aplicação, tem de iniciar sessão no Azure.

  1. Se ainda não se inscreveu, escolha o ícone Azure na barra de Atividades, então na área Azure: Funções, escolha Iniciar súmido para Azure.... Se ainda não tiver um, pode criar uma conta Azure gratuita. Os alunos podem criar uma conta Azure gratuita para os Estudantes.

    Inscreva-se no Azure dentro do Código VS

    Se já assinou, vá para a próxima secção.

  2. Quando solicitado no navegador, escolha a sua conta Azure e inscreva-se usando as suas credenciais de conta Azure.

  3. Depois de ter assinado com sucesso, pode fechar a nova janela do navegador. As subscrições que pertencem à sua conta Azure são apresentadas na barra Lateral.

Compilar o manipulador personalizado para Azure

Nesta secção, publica o seu projeto para a Azure numa aplicação de função que executa o Linux. Na maioria dos casos, deve recompler o seu binário e ajustar a sua configuração para corresponder à plataforma-alvo antes de publicá-la ao Azure.

  1. No terminal integrado, compile o manipulador para Linux/x64. Um binário nomeado handler é criado na raiz da aplicação de função.

    GOOS=linux GOARCH=amd64 go build handler.go
    

Publicar o projeto no Azure

Nesta secção, cria uma aplicação de função e recursos relacionados na sua subscrição Azure e, em seguida, implementa o seu código.

Importante

A publicação de uma aplicação de funções existente substitui o conteúdo dessa aplicação no Azure.

  1. Escolha o ícone Azure na barra de Atividade, em seguida, na área Azure: Funções, escolha o botão Implementar para funcionar... botão.

    Publicar o projeto no Azure

  2. Forneça as seguintes informações nos pedidos:

    • Selecione pasta: Escolha uma pasta do seu espaço de trabalho ou navegue para uma que contenha a sua aplicação de função. Não verá isto se já tiver uma aplicação de função válida aberta.

    • Selecione subscrição: Escolha a subscrição para usar. Não verá isto se tiver apenas uma assinatura.

    • Selecione Aplicação de Funções no Azure: Selecione + Create new Function App (advanced).

      Importante

      A advanced opção permite-lhe escolher o sistema operativo específico em que a sua aplicação de função funciona no Azure, que neste caso é o Linux.

      VS Code - Selecione avançado criar nova aplicação de função

    • Introduza um nome globalmente único para a aplicação de função: Escreva um nome que seja válido num caminho URL. O nome que digita é validado para se certificar de que é único em Funções Azure.

    • Selecione uma pilha de tempo de execução: Escolha Custom Handler .

    • Selecione um SISTEMA: Escolha Linux .

    • Selecione um plano de hospedagem: Escolha Consumption .

    • Selecione um grupo de recursos: Escolha + Create new resource group . Insira um nome para o grupo de recursos. Este nome deve ser único dentro da sua assinatura Azure. Pode usar o nome sugerido na solicitação.

    • Selecione uma conta de armazenamento: Escolha + Create new storage account . Este nome deve ser globalmente único dentro de Azure. Pode usar o nome sugerido na solicitação.

    • Selecione um recurso Application Insights: Escolha + Create Application Insights resource . Este nome deve ser globalmente único dentro de Azure. Pode usar o nome sugerido na solicitação.

    • Selecione uma localização para novos recursos: Para um melhor desempenho, escolha uma região perto de si. A extensão mostra o estado dos recursos individuais à medida que estão a ser criados em Azure na área de notificação.

    Notificação da criação de recursos Azure

  3. Quando concluídos, os seguintes recursos Azure são criados na sua subscrição:

    • Um grupo de recursos, que é um recipiente lógico para recursos relacionados.
    • Uma conta padrão de Armazenamento Azure,que mantém informações estatais e outras sobre os seus projetos.
    • Um plano de consumo, que define o anfitrião subjacente para a sua aplicação de função sem servidor.
    • Uma aplicação de função, que fornece o ambiente para a execução do seu código de função. Uma aplicação de função permite-lhe agrupar funções como uma unidade lógica para facilitar a gestão, implementação e partilha de recursos dentro do mesmo plano de hospedagem.
    • Uma instância de Insights de Aplicação ligada à aplicação de função, que rastreia o uso da sua função sem servidor.

    Depois de criar a aplicação de funções, é apresentada uma notificação e o pacote de implementação é aplicado.

  4. Selecione Ver Saída nesta notificação para ver os resultados da criação e implementação, incluindo os recursos Azure que criou. Se perder a notificação, selecione o ícone da campainha no canto inferior direito para vê-lo novamente.

    Criar notificação completa

Executar a função em Azure

  1. De volta ao Azure: Funções na barra lateral, expandir a sua subscrição, a sua nova aplicação de funções e funções. Clique à direita (Windows) ou Ctrl - clique (macOS) na HttpExample função e escolha Executar Função Agora....

    Executar função agora em Azure a partir do Código do Estúdio Visual

  2. In Enter request body você vê o valor do corpo da mensagem de pedido de { "name": "Azure" } . Prima Insira para enviar esta mensagem de pedido para a sua função.

  3. Quando a função executa em Azure e devolve uma resposta, uma notificação é levantada no Código do Estúdio Visual.

Limpar recursos

Quando continuar até ao próximo passo e adicionar uma fila de armazenamento Azure à sua função, terá de manter todos os seus recursos no lugar para se basear no que já fez.

Caso contrário, pode utilizar os seguintes passos para eliminar a aplicação de função e os seus recursos relacionados para evitar incorrer em custos adicionais.

  1. No Código do Estúdio Visual, prima F1 para abrir a paleta de comando. Na paleta de comando, procure e selecione Azure Functions: Open in portal .

  2. Escolha a sua aplicação de função e prima Enter. A página de aplicação de função abre no portal Azure.

  3. No separador Visão Geral, selecione o link nomeado ao lado do grupo De recursos.

    Selecione o grupo de recursos a eliminar na página da aplicação de função.

  4. Na página Grupo de recursos, reveja a lista dos recursos incluídos e certifique-se de que são aqueles que pretende eliminar.

  5. Selecione Eliminar grupo de recursos e siga as instruções.

    A eliminação pode demorar alguns minutos. Quando terminar, é apresentada uma notificação durante alguns segundos. Também pode selecionar o ícone de sino na parte superior da página para ver a notificação.

Para saber mais sobre os custos das funções, consulte os custos do plano de consumoestimado.

Passos seguintes