Executar uma função do Azure quando um blob é criado
Imagine que você é um fotógrafo e tem um site que exibe suas fotos do dia. Porque está ocupado, não tem uma agenda de carregamento consistente, mas quer notificar os seus fãs quando carrega uma imagem. Decide criar uma função do Azure para enviar automaticamente um tweet sempre que carrega uma imagem para o seu contentor de blobs do Armazenamento do Azure.
Aqui, você aprenderá como criar um gatilho de blob e instruí-lo a monitorar um local específico em seu contêiner de blob de Armazenamento do Azure.
O que é o Armazenamento do Azure?
O Armazenamento do Azure é a solução de armazenamento na cloud da Microsoft que oferece suporte a todos os tipos de dados, incluindo: blobs, filas e NoSQL. O objetivo do Armazenamento do Azure consiste em fornecer armazenamento de dados que:
- Tenha elevada disponibilidade
- Proteger
- Dimensionável
- Não gerido
Não nos vamos focar muito no Armazenamento do Azure. Em vez disso, utilizamos para criar blobs que acionam a execução da nossa função.
O que é o armazenamento de Blobs do Azure?
O armazenamento de Blob 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 é melhor nos seguintes aspetos:
- A armazenar ficheiros
- A servir ficheiros
- Transmissão de áudio e vídeo
- A registar dados
Existem 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 frequentemente utilizado. Permitem-lhe armazenar texto ou dados binários de forma eficiente. Os blobs de acréscimo são como blobs de blocos, mas são concebidos para as operações de acrescento, como criar um ficheiro de registo que esteja a ser constantemente atualizado. Por fim, os blobs de páginas são constituídos por páginas e são concebidos para operações frequentes aleatórios de escrita e leitura.
O que é um acionador de blob?
Um gatilho de blob é um gatilho que executa uma função quando você carrega ou atualiza um arquivo no armazenamento de Blob do Azure. As funções verificam periodicamente se há alterações em um contêiner de armazenamento, o que pode resultar em alguma latência. Há maneiras de reduzir essa latência ao acionar em contêineres de blob.
Para criar um acionador de blob, cria uma conta do Armazenamento do Azure e fornece uma localização que o acionador monitoriza.
Como criar um acionador de blobs
Assim como os outros gatilhos que vimos até agora, você pode criar um gatilho de blob no portal do Azure. Dentro da sua função do Azure, selecione acionador de Blob na lista de tipos de acionadores 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 predefinição, o valor Path é:
samples-workitems/{name}
Vamos dividir este conceito em duas partes: samples-workitems e {name}. A primeira parte, samples-workitems, representa o contentor de blobs que o acionador monitoriza. A segunda parte, {nome} significa que cada tipo de ficheiro vai fazer com que o acionador invoque a função. A função é invocada porque não há filtro. Por exemplo, podemos fazer o acionador invocar a função apenas quando um ficheiro PNG é adicionado, ao utilizar sintaxe como:
samples-workitems/{name}.png
A última informação significativa para este conceito é o nome do texto. O nome representa um parâmetro na sua função do Azure que recebe o nome do ficheiro adicionado. Por exemplo, se carregarmos um ficheiro chamado resume.txt, a minha função do Azure recebe esse valor como uma cadeia de carateres através de um parâmetro chamado nome.
Um acionador de blob invoca uma função do Azure quando vê atividade numa determinada localização na sua conta do blob do Armazenamento do Azure. Define a localização para monitorizar ao modificar o valor Path no portal do Azure.