Een Azure-functie uitvoeren wanneer een blob wordt gemaakt

Voltooid

Stel dat u een fotograaf bent en u een website hebt die uw foto's van de dag weergeeft. Omdat u het druk hebt, hebt u geen regelmatig uploadschema, maar wilt u uw fans een melding sturen wanneer u een afbeelding uploadt. U besluit een Azure-functie te maken voor het automatisch verzenden van een tweet wanneer u een afbeelding naar uw Azure Storage Blob-container uploadt.

Hier leert u hoe u een blobtrigger maakt en deze instrueert om een specifieke locatie in uw Azure Storage-blobcontainer te bewaken.

Wat is Azure Storage?

Azure Storage is de oplossing van Microsoft voor cloudopslag, die ondersteuning biedt voor alle typen gegevens, inclusief: blobs, wachtrijen en NoSQL. Het doel van Azure Storage is om gegevensopslag te bieden met de volgende eigenschappen:

  • Zeer beschikbaar
  • Beveiligen
  • Schaalbaar
  • Beheerd

We gaan ons niet te veel focussen op Azure Storage. In plaats daarvan gebruiken we het om blobs te maken die zorgen dat onze functie actief wordt.

Wat is Azure Blob Storage?

Azure Blob Storage is een oplossing voor objectopslag die is ontworpen voor het opslaan van grote hoeveelheden ongestructureerde gegevens.

Azure Blob Storage is bijvoorbeeld erg handig bij zaken als:

  • Het opslaan van bestanden
  • Het leveren van bestanden
  • Streaming van video en audio
  • Het vastleggen van gegevens in een logboek

Er zijn drie typen blobs: blok-blobs, toevoeg-blobs en pagina-blobs. Blok-blobs komen het meest voor. Hiermee kunt u tekst of binaire gegevens efficiƫnt opslaan. Toevoeg-blobs zijn vergelijkbaar met blok-blobs, maar ze zijn meer bedoeld voor toevoegbewerkingen, zoals het maken van een logboekbestand dat voortdurend wordt bijgewerkt. Pagina-blobs bestaan uit pagina's en zijn ontworpen voor frequente, willekeurige lees- en schrijfbewerkingen.

Wat is een blobtrigger?

Een blobtrigger is een trigger waarmee een functie wordt uitgevoerd wanneer u een bestand uploadt of bijwerkt in Azure Blob Storage. Functions controleert periodiek een opslagcontainer op wijzigingen, wat kan leiden tot enige latentie. Er zijn manieren om deze latentie te verminderen bij het activeren van blobcontainers.

Wanneer u een blobtrigger wilt maken, maakt u een Azure Storage-account en geeft u een locatie op die door de trigger wordt gecontroleerd.

Een blobtrigger maken

Net als de andere triggers die we tot nu toe hebben gezien, kunt u een blobtrigger maken in Azure Portal. Selecteer in de Azure-functie de optie Blobtrigger in de lijst met vooraf gedefinieerde triggertypen. Voer vervolgens de logica in die u wilt uitvoeren wanneer een blob wordt gemaakt of bijgewerkt.

Een instelling die belangrijk is om te begrijpen, is het pad. Het pad vertelt de blobtrigger welke blobcontainer moet worden bewaakt om te zien of een blob is geĆ¼pload of bijgewerkt. De Pad-waarde is standaard:

samples-workitems/{name}

Laten we dit concept in twee delen splitsen: voorbeeldwerkitems en {naam}. Het eerste deel, voorbeeldwerkitems, geeft de blobcontainer aan die door de trigger wordt gecontroleerd. Het tweede deel, {naam} betekent dat elk type bestand ervoor zorgt dat de trigger de functie aanroept. De functie wordt aangeroepen omdat er geen filter is. We kunnen bijvoorbeeld zorgen dat de trigger de functie alleen aanroept wanneer een PNG-bestand wordt toegevoegd, met behulp van syntaxis zoals:

samples-workitems/{name}.png

De laatste belangrijke informatie voor dit concept is de naam van de tekst. naam vertegenwoordigt een parameter in uw Azure-functie die de naam van het toegevoegde bestand ontvangt. Als we bijvoorbeeld een bestand met de naam CV.txt uploaden, ontvangt mijn Azure-functie die waarde als een tekenreeks via een parameter genaamd naam.

Een blobtrigger roept een Azure-functie aan wanneer de trigger activiteit ziet op een specifieke locatie in uw Azure Blob Storage-account. U stelt de locatie voor het bewaken in door de waarde Pad in Azure Portal te wijzigen.