Ausführen einer Azure-Funktion beim Erstellen eines Blobs

Abgeschlossen

Angenommen Sie sind Fotograf und betreiben eine Website, auf der Sie Ihre Bilder des Tages präsentieren. Weil Sie sehr beschäftigt sind, haben Sie keinen konsistenten Uploadzeitplan, aber Sie möchten Ihren Fans mitteilen, wann Sie ein Bild hochladen. Sie entscheiden, eine Azure-Funktion zu erstellen, um automatisch einen Tweet zu senden, wenn Sie ein Bild in Ihren Azure Storage-Blobcontainer hochladen.

Hier erfahren Sie, wie Sie einen Blobtrigger erstellen, und ihn anweisen, einen bestimmten Speicherort in Ihrem Azure Storage-Blobcontainer zu überwachen.

Was ist Azure Storage?

Azure Storage ist die Cloudspeicherlösung von Microsoft, die alle Arten von Daten einschließlich Blobs, Warteschlangen und NoSQL unterstützt. Das Ziel von Azure Storage ist, Datenspeicher mit folgenden Eigenschaften bereitzustellen:

  • Hoch verfügbar
  • Sicher
  • Skalierbar
  • Verwaltet

Wir werden uns nicht zu intensiv mit Azure Storage beschäftigen. Stattdessen verwenden wir Azure Storage zum Erstellen von Blobs, die die Ausführung unserer Funktion auslösen.

Was ist Azure-Blobspeicher?

Azure-Blobspeicher ist eine Objektspeicherlösung, die zum Speichern großer Mengen unstrukturierter Daten entworfen wurde.

Azure Blob Storage eignet sich z.B. hervorragend für folgende Aufgaben:

  • Speichern von Dateien
  • Bereitstellen von Dateien
  • Video- und Audiostreaming
  • Protokollieren von Daten

Es gibt drei Arten von Blobs: Blockblobs, Anfügeblobs und Seitenblobs. Blockblobs sind der gängigste Typ. Dort können Sie Text- oder Binärdaten effizient speichern. Anfügeblobs sind wie Blockblobs, aber sie eignen sich eher für Anfügevorgänge wie das Erstellen einer Protokolldatei, die ständig aktualisiert wird. Seitenblobs bestehen aus Seiten und sind für häufige wahlfreie Lese-/Schreibzugriffe vorgesehen.

Was ist ein Blobtrigger?

Ein Blobtrigger führt eine Funktion aus, wenn eine Datei in Azure Blob Storage hochgeladen oder aktualisiert wird. Funktionen überprüfen in regelmäßigen Abständen einen Speichercontainer auf Änderungen, was zu einer Latenz führen kann. Es gibt Möglichkeiten, diese Latenz beim Auslösen von Blob-Containern zu verringern.

Um einen Blobtrigger zu erstellen, müssen Sie ein Azure Storage-Konto erstellen und einen Speicherort angeben, den der Trigger überwacht.

Gewusst wie: Erstellen eines Blobtriggers

Genau wie die anderen Trigger, die Sie bisher kennengelernt haben, erstellen Sie Blobtrigger im Azure-Portal. Wählen Sie in Ihrer Azure-Funktion Blobtrigger aus der Liste der vordefinierten Triggertypen aus. Dann geben Sie die Logik ein, die ausgeführt werden soll, wenn ein Blob erstellt oder aktualisiert wird.

Eine Einstellung, deren Funktionsweise Sie verstehen sollten, ist der Pfad. Der Pfad weist den Blobtrigger an, welchen Blob-Container er darauf überwachen soll, ob ein Blob hochgeladen oder aktualisiert wird. Standardmäßig ist der Wert Pfad festgelegt auf:

samples-workitems/{name}

Wir unterteilen dieses Konzept in zwei Teile: samples-workitems und {Name}. Der erste Teil, samples-workitems, stellt den BLOB-Container dar, den der Trigger überwacht. Der zweite Teil, {name} bedeutet, dass jeder Dateityp den Trigger veranlasst, die Funktion aufzurufen. Die Funktion wird aufgerufen, da kein Filter vorhanden ist. Beispielsweise lässt sich mithilfe der folgenden Syntax einstellen, dass der Trigger die Funktion nur aufruft, wenn eine PNG-Datei hinzugefügt wird:

samples-workitems/{name}.png

Die letzte wichtige Information in diesem Konzept ist der Text name. Der Name stellt einen Parameter in Ihrer Azure-Funktion dar, der den Namen der hinzugefügten Datei empfängt. Wenn wir z. B. eine Datei namens resume.txt hochladen, empfängt unsere Azure-Funktion diesen Wert als Zeichenfolge über einen Parameter namens Name.

Ein Blobtrigger ruft eine Azure-Funktion auf, wenn er Aktivität an einem bestimmten Speicherort in Ihrem Azure-Blobspeicherkonto feststellt. Sie legen den zu überwachenden Speicherort durch Ändern des Werts Pfad im Azure-Portal fest.