Criar uma função disparada pelo Armazenamento de Filas do Azure

Saiba como criar uma função que é disparada quando as mensagens são enviadas para uma fila do Armazenamento do Azure.

Observação

A edição no portal só é suportada para funções JavaScript, PowerShell e C# Script. A edição no portal do Python só é suportada quando executada no plano de Consumo. Quando possível, você deve desenvolver suas funções localmente.

Para saber mais sobre as limitações na edição do código de função no portal do Azure, consulte Limitações de desenvolvimento no portal do Azure.

Pré-requisitos

  • Uma assinatura do Azure. Se você não tiver uma, crie uma conta gratuita antes de começar.

Criar um Aplicativo de funções do Azure

  1. No menu do portal do Azure ou na Página inicial, selecione Criar um recurso.

  2. Na página Novo, selecione Computação>Aplicativo de Funções.

  3. Em Selecione uma opção de hospedagem, selecione Consumo>Selecionar para criar seu aplicativo no plano de Consumo padrão. Nessa opção de hospedagem sem servidor, você paga somente pelo tempo durante o qual suas funções são executadas. O plano Premium também oferece colocação em escala dinâmica. Quando você executa em um Plano do Serviço de Aplicativo, deve gerenciar o dimensionamento do aplicativo de funções.

  4. Na página Informações básicas, use as configurações do aplicativo de funções conforme especificado na seguinte tabela:

    Configuração Valor sugerido Descrição
    Assinatura Sua assinatura A assinatura sob a qual você cria seu novo aplicativo de funções.
    Grupo de Recursos myResourceGroup Nome do novo grupo de recursos no qual você cria o aplicativo de funções. Você deve criar um novo grupo de recursos porque há limitações conhecidas ao criar novos aplicativos de funções em um grupo de recursos existente.
    Nome do aplicativo de funções Nome globalmente exclusivo Nome que identifica seu novo aplicativo de funções. Os caracteres válidos são a-z (não diferencia maiúsculas de minúsculas), 0-9 e -.
    Pilha de runtime Linguagem preferencial Escolha um runtime compatível com sua linguagem de programação de funções favorita. A edição no portal só está disponível para scripts JavaScript, PowerShell, Python v1, TypeScript e C#. A biblioteca de classes C# e as funções Java devem ser desenvolvidas localmente.
    Versão Número de versão Escolha a versão do seu runtime instalado.
    Região Região preferencial Selecione uma região perto de você ou perto de outros serviços que suas funções podem acessar.
    Sistema operacional Windows Um sistema operacional é pré-selecionado para você com base na seleção da pilha de runtime, mas você pode alterar a configuração, se necessário. Só há suporte para edição no portal no Windows.
  5. Aceite as opções padrão as guias restantes, incluindo o comportamento padrão de criação de uma nova conta de armazenamento na guia Armazenamento e uma nova instância do Application Insights na guia Monitoramento. Você também pode optar por usar uma conta de armazenamento existente ou uma instância do Application Insights.

  6. Selecione Examinar + criar para examinar as configurações do aplicativo escolhidas e selecione Criar para provisionar e implantar o aplicativo de funções.

  7. Selecione o ícone Notificações no canto superior direito do portal e veja se a mensagem Implantação concluída com êxito é exibida.

  8. Selecione Ir para recursos para exibir o novo aplicativo de funções. Você também pode selecionar Fixar no painel. A fixação torna mais fácil retornar a esse recurso de aplicativo de função no seu painel.

    Captura de tela da notificação de implantação.

Aplicativo de funções criado com êxito.

Em seguida, crie uma nova função no novo aplicativo de funções.

Criar uma função disparada por Filas

  1. No seu aplicativo de funções, selecione Visão gerale selecione + Criar em Funções.

  2. Em Selecione um modelo, role para baixo e escolha o modelo Gatilho do Armazenamento de Filas do Azure.

  3. Em Detalhes do modelo, configure o novo gatilho com as configurações especificadas nessa tabela e selecione Criar:

    Configuração Valor sugerido Description
    Nome Exclusivo no aplicativo de funções O nome dessa função disparada por filas.
    Nome da fila myqueue-items Nome da fila à qual se conectar em sua conta de armazenamento.
    Conexão da conta de armazenamento AzureWebJobsStorage Você pode usar a conexão da conta de armazenamento que já está sendo usada por seu aplicativo de funções ou criar uma nova.

    O Azure cria a função desencadeada pelo Armazenamento de Filas com base nos valores fornecidos

Em seguida, você pode se conectar à sua conta do Armazenamento do Azure e criar a fila de armazenamento myqueue-items.

Criar a fila

  1. Em sua função, na página Visão geral, selecione o grupo de recursos.

    Selecione seu grupo de recursos do portal do Azure.

  2. Encontre e selecione a conta de armazenamento do grupo de recursos.

    Acesse a conta de armazenamento.

  3. Escolha Filas e, em seguida, escolha + Fila.

    Adicione uma fila à sua conta de armazenamento no portal do Azure.

  4. No campo Nome, digite myqueue-items e, em seguida, selecione Criar.

    Nomeie o contêiner do Armazenamento de Filas.

Agora que você tem uma fila de armazenamento, você pode testar a função adicionando uma mensagem à fila.

Testar a função

  1. De volta ao Portal do Azure, navegue até sua função, expanda os Logs na parte inferior da página e verifique se o streaming de log não está em pausa.

    Expanda o log no portal do Azure.

  2. Em uma janela separada do navegador, vá para o grupo de recursos no portal do Azure e selecione a conta de armazenamento.

  3. Selecione Filas e, em seguida, selecione o contêiner myqueue-items.

    Navegue até a fila myqueue-items no portal do Azure.

  4. Selecione Adicionar mensagem e digite "Olá, Mundo!" em Texto da mensagem. Selecione OK.

    A captura de tela mostra o botão Adicionar mensagem selecionado e o campo Texto da mensagem realçado.

  5. Aguarde alguns segundos, depois volte para seus logs de função e verifique se a nova mensagem foi lida da fila.

    Veja a mensagem nos logs.

  6. De volta à sua fila de armazenamento, selecione Atualizar e verifique se a mensagem foi processada e se não está mais na fila.

Limpar os recursos

Outros inícios rápidos nessa coleção aproveitam esse início rápido. Se você planeja trabalhar com guias de início rápido subsequentes, tutoriais ou com qualquer serviço criado por você nesse início rápido, não limpe os recursos.

Os Recursos no Azure se referem a aplicativos de funções, funções, contas de armazenamento e assim por diante. Eles são agrupados em grupos de recursos e você pode excluir tudo junto ao excluir o grupo.

Você criou recursos para concluir esses guias de início rápido. Esses recursos podem ser cobrados, dependendo do status da sua conta e do preço do serviço. Caso não precise mais dos recursos, é possível excluí-los desta maneira:

  1. No portal do Azure, vá até a página Grupo de recursos.

    Para acessar essa página por meio da página de aplicativo de funções, selecione a guia Visão geral e o link em Grupo de recursos.

    Captura de tela que mostra selecionar o grupo de recursos a ser excluído da página do aplicativo de funções.

    Para acessar essa página no painel, selecione Grupos de recursos, depois o grupo de recursos usado para este artigo.

  2. Na página Grupo de recursos, examine a lista de recursos incluídos e verifique se eles são aqueles que deseja excluir.

  3. Selecione Excluir grupo de recursos e siga as instruções.

    A exclusão pode levar alguns minutos. Ao ser concluída, uma notificação será exibida por alguns segundos. Também é possível selecionar o ícone de sino na parte superior da página para exibir a notificação.

Próximas etapas

Você criou uma função que é executada quando uma mensagem é adicionada a uma fila de armazenamento. Para obter mais informações sobre gatilhos de Armazenamento de Filas, consulte Associações de fila do Armazenamento do Azure Functions.

Agora que você criou sua primeira função, vamos adicionar uma associação de saída à função que grava uma mensagem de volta em outra fila.