Criar uma função no Azure disparada pelo Armazenamento de Blobs

Saiba como criar uma função disparada quando arquivos são carregados ou atualizados em um contêiner do Armazenamento de Blobs.

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.

Você criou com êxito seu aplicativo de funções.

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 pelo Armazenamento de Blobs do Azure

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

  2. Em Select a template, role para baixo e escolha o modelo Gatilho do Armazenamento de Blobs 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 Descrição
    Nova Função Exclusivo no aplicativo de funções O nome dessa função disparada pelo blob.
    Caminho samples-workitems/{name} Local no Armazenamento de Blobs que está sendo monitorada. O nome do arquivo do blob é passado na associação como o parâmetro name.
    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 Blob Storage com base nos valores fornecidos.

Em seguida, crie o contêiner samples-workitems.

Criar o contêiner

  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 Contêineres e, em seguida, escolha + Contêiner.

    Adicione um contêiner à sua conta de armazenamento no portal do Azure.

  4. No campo Nome, digite samples-workitems e, em seguida, selecione Criar.

    Nomeie o contêiner de armazenamento.

Agora que você tem um contêiner de blob, você pode testar a função carregando um arquivo para o contêiner.

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 Contêineres e, em seguida, selecione o contêiner samples-workitems.

    Navegue até o contêiner samples-workitems no portal do Azure.

  4. Selecione Carregar e, em seguida, selecione o ícone de pasta para escolher um arquivo a ser carregado.

    Carregue um arquivo para o contêiner de blob.

  5. Navegue até um arquivo em seu computador local, por exemplo, um arquivo de imagem, e escolha-o. Selecione Abrir e Carregar.

  6. Volte para os logs de função e verifique se o blob foi lido.

    Veja a mensagem nos logs.

    Observação

    Quando seu aplicativo de funções é executado no plano de consumo padrão, pode haver um atraso de até vários minutos entre o blob que está sendo adicionado ou atualizado e a função sendo disparada. Se você precisar de baixa latência em suas funções disparadas por blob, considere executar seu aplicativo de funções em um Plano do Serviço de Aplicativo.

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 um blob é adicionado a um Armazenamento de Blobs ou atualizado nele. Para obter mais informações sobre gatilhos de armazenamento de blobs, consulte Associações de Armazenamento de Blobs 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 em uma fila do Armazenamento.