Executar uma função do Azure quando um blob é criado

Concluído

Imagine que você é um fotógrafo e que tem um site que exibe as imagens do dia. Como você é ocupado, você não tem um agendamento de upload consistente, mas deseja notificar seus fãs de quando carregar uma imagem. Você decide criar uma função do Azure para enviar um tweet automaticamente sempre que carregar uma imagem no contêiner do Azure Storage Blob.

Aqui, você aprenderá a criar um gatilho de blob e instruí-lo a monitorar um local específico no contêiner de blob do Armazenamento do Azure.

O que é o Armazenamento do Microsoft Azure?

O Armazenamento do Azure é a solução de armazenamento em nuvem da Microsoft que dá suporte a todos os tipos de dados, incluindo: blobs, filas e NoSQL. A meta do Armazenamento do Microsoft Azure é fornecer um armazenamento de dados que seja:

  • Altamente disponível
  • Seguro
  • Escalonável
  • Gerenciado

Não vamos nos concentrar muito no Armazenamento do Azure. Em vez disso, nós o usamos para criar blobs que dispararão nossa função para que ela seja executada.

O que é o Armazenamento de Blobs do Azure?

O Armazenamento de Blobs do Azure é uma solução de armazenamento de objetos projetada para armazenar grandes quantidades de dados não estruturados.

Por exemplo, o Armazenamento de Blobs do Azure é excelente para ações como:

  • Armazenar arquivos
  • Fornecer arquivos
  • Transmitir áudio e vídeo por streaming
  • Registrar dados

Há três tipos de blobs: blobs de blocos, blobs de acréscimo e blobs de páginas. Os blobs de blocos são o tipo mais comum. Eles permitem que você armazene um texto ou dados binários com eficiência. Os blobs de acréscimo são como blobs de blocos, mas foram projetados mais para operações de acréscimo, como a criação de um arquivo de log que é atualizado constantemente. Por fim, os blobs de páginas são compostos por páginas e foram projetados para operações de leitura e gravação aleatórias frequentes.

O que é um gatilho de blob?

Um gatilho de blob é um gatilho que executa uma função quando você carrega ou atualiza um arquivo no Armazenamento de Blobs do Azure. As funções verificam periodicamente um contêiner de armazenamento em busca de alterações, o que pode resultar em alguma latência. Há maneiras de reduzir essa latência ao disparar em contêineres de blob.

Para criar um gatilho de blob, crie uma conta de Armazenamento do Azure e forneça um local monitorado pelo gatilho.

Como criar um gatilho de blob

Assim como os outros gatilhos que vimos até agora, você pode criar um gatilho de blob no portal do Azure. Na função do Azure, selecione Gatilho de blob na lista de tipos de gatilho predefinidos. Em seguida, insira a lógica que você deseja executar quando um blob é criado ou atualizado.

Uma configuração que é importante entender é o Caminho. O Caminho informa ao gatilho de blob qual contêiner de blob monitorar para ver se um blob é carregado ou atualizado. Por padrão, o valor de Caminho é:

samples-workitems/{name}

Vamos dividir esse conceito em duas partes: samples-workitems e {name}. A primeira parte, samples-workitems, representa o contêiner de blobs monitorado pelo gatilho. A segunda parte, {name} , significa que todos os tipos de arquivo farão com que o gatilho invoque a função. A função é invocada porque não há nenhum filtro. Por exemplo, podemos fazer com que o gatilho invoque a função somente quando um arquivo PNG é adicionado, usando uma sintaxe como:

samples-workitems/{name}.png

A última informação significativa referente a esse conceito é o nome do texto. O nome representa um parâmetro na função do Azure que recebe o nome do arquivo adicionado. Por exemplo, se carregarmos um arquivo chamado resume.txt, minha função do Azure receberá esse valor como uma cadeia de caracteres por meio de um parâmetro chamado name.

Um gatilho de blob invoca uma função do Azure quando ele vê a atividade em um local específico na conta do Azure Storage Blob. Defina a localização a ser monitorada modificando o valor de Path no portal do Azure.