Exercício – Criar uma função do Azure disparada por um webhook

Concluído

Neste primeiro exercício, você criará seu código para analisar as mensagens de evento do wiki do GitHub no Azure Functions. Você configurará sua função para ser executada quando uma mensagem de webhook for recebida.

Criar um aplicativo de funções

  1. Entre no portal do Azure usando sua conta do MS Learn.

  2. Selecione Criar um recurso. O painel Criar um recurso será exibido.

  3. No painel de menu à esquerda, em Categorias, selecione Computação e, na caixa de pesquisa Pesquisar serviços e marketplace, pesquise por Aplicativo de Funções e selecione essa opção. O painel Aplicativo de Funções é exibido.

  4. Selecione Criar. O painel Criar Aplicativo de Funções é exibido.

  5. Na guia Básico, insira os valores a seguir para cada configuração.

    Observação

    O nome do aplicativo de funções precisa ser exclusivo. Sugerimos algo como <seu nome ou suas iniciais>triggerapp. Use esse nome sempre que vir <your-functionapp-name> neste exercício.

    Setting Valor
    Detalhes do projeto
    Subscription Assinatura do Concierge
    Grupo de recursos Na lista suspensa, selecione o grupo de recursos de área restrita existente [nome do grupo de recursos da área restrita].
    Detalhes da Instância
    Nome do Aplicativo de Funções <your-functionapp-name>
    Publicação Código
    Pilha de runtime Node.js
    Versão Aceitar padrão
    Região Escolha uma das Regiões de área restrita permitidas que seja mais próxima a você.
    Sistema operacional
    Sistema operacional Windows
    Hosting
    Opções e planos de hospedagem Consumo (Sem servidor)

    A área restrita gratuita permite criar recursos em um subconjunto das regiões globais do Azure. Selecione uma região na seguinte lista ao criar recursos:

    • Oeste dos EUA 2
    • Centro-Sul dos Estados Unidos
    • Centro dos EUA
    • Leste dos EUA
    • Europa Ocidental
    • Sudeste Asiático
    • Leste do Japão
    • Brazil South
    • Australia Southeast
    • Índia Central
  6. Selecione Avançar: Armazenamento para abrir a guia Armazenamento. Insira os valores a seguir para cada configuração.

    Configuração Valor
    Storage
    Conta de armazenamento (Novo) e aceite o nome padrão.
  7. Selecione Examinar + criar.

  8. O Azure verificará suas entradas. Quando elas tiverem sido verificadas, selecione Criar.

Criar uma função disparada pelo webhook

  1. Quando a implantação for concluída, selecione Ir para o recurso. O painel Visão geral aparece para o aplicativo de funções.

  2. Em Funções, selecione Criar no portal do Azure.

  3. O painel Criar função é exibido.

  4. Em Selecionar um modelo, selecione Gatilho HTTP e selecione Criar. O painel HttpTrigger1 será exibido para a sua função, mostrando informações essenciais sobre o novo gatilho.

  5. No painel de menu esquerdo, em Desenvolvedor, selecione Código + Teste. O painel Codificar + Testar será exibido para a sua função, mostrando o arquivo JavaScript criado com base no modelo. Ele deve ser semelhante ao código a seguir.

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: responseMessage
        };
    }
    

    O arquivo index.js é a função JavaScript gerada pelo portal. A solicitação lê o nome, seja ele transmitido como uma cadeia de consulta ou como parte do corpo da solicitação, e responde com a mensagem "Olá".

  6. Acima do código está o caminho com uma lista suspensa mostrando o nome do arquivo. Na lista suspensa, selecione function.json. O arquivo JSON criado pelo modelo será exibido. Ele deve ser semelhante ao código a seguir.

    {
        "bindings": [
            {
                "authLevel": "function",
                "type": "httpTrigger",
                "direction": "in",
                "name": "req",
                "methods": [
                    "get",
                    "post"
                ]
            },
            {
                "type": "http",
                "direction": "out",
                "name": "res"
            }
        ]
    }
    

    As associações JSON especificam que a função é disparada por solicitações HTTP GET e POST direcionadas à URL do aplicativo de funções.

Testar disparar sua função

  1. Na barra de menus superior, selecione Obter URL da função.

  2. Na caixa de diálogo Obter URL da função, na lista suspensa Chave, em Chave de função, selecione padrão. No campo URL, selecione o ícone Copiar para a área de transferência. A URL será semelhante a isto:

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. Cole essa URL em um navegador e, no final dela, acrescente o parâmetro de cadeia de consulta: &name=<yourname>, por exemplo &name=Mateus e Marina.

  4. Para executar a solicitação, pressione Enter. A resposta retornada pela função aparecerá no navegador. Ficará semelhante ao seguinte:

    Hello Dick and Jane. This HTTP triggered function executed successfully.
    

Parabéns! Agora você tem uma função que pode ser disparada por uma URL.