Ausführen einer Azure-Funktion beim Erstellen eines Blobs
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 BLOB-Trigger erstellen und anweisen, einen bestimmten Speicherort in Ihrem Azure Storage-BLOB-Container 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 die Bereitstellung von Datenspeichern, die hochverwendbar, sicher, skalierbar und verwaltet werden.
In diesem Modul konzentrieren wir uns nicht auf Azure Storage zu viel. Stattdessen möchten wir es verwenden, um Blobs von Daten zu speichern, die die Ausführung unserer Funktion auslösen können.
Was ist Azure-Blobspeicher?
Azure Blob Storage ist eine Objektspeicherlösung zum Speichern großer Mengen unstrukturierter Daten.
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: Blockieren von Blobs, Anfügen von Blobs 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. Azure Functions überprüft 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 wir bisher gelernt haben, können Sie einen BLOB-Trigger im Azure-Portal erstellen. Wählen Sie in Ihrer Azure-Funktion blob-Trigger 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 teilt dem Blobtrigger mit, welcher BLOB-Container überwacht werden soll, um festzustellen, ob ein Blob hochgeladen oder aktualisiert wird. Standardmäßig lautet der Pfadwert :
samples-workitems/{name}
Lassen Sie uns dieses Konzept in zwei Teile unterteilen: Beispiele-Arbeitselemente und {name}. Der erste Teil (samples-workitems) stellt den Blobcontainer dar, den der Trigger überwacht. Der zweite Teil , {name} , bedeutet, dass jeder Dateityp bewirkt, dass der Trigger die Funktion aufruft. 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
Der letzte wichtige Informationsabschnitt für dieses Konzept ist der Textname. 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 mit dem Namen resume.txthochladen, empfängt meine Azure-Funktion diesen Wert als Zeichenfolge über einen Parameter namens.
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 fest, indem Sie den Pfadwert im Azure-Portal ändern.