Wykonywanie funkcji platformy Azure przy tworzeniu obiektu blob

Ukończone

Wyobraź sobie, że jesteś fotografem i masz witrynę internetową, która wyświetla swoje zdjęcia dnia. Ponieważ masz mało czasu, nie przekazujesz zdjęć regularnie — ale chcesz powiadamiać fanów o przekazaniu nowego zdjęcia. Postanawiasz utworzyć funkcję platformy Azure, która automatycznie wyśle tweeta za każdym razem, gdy prześlesz zdjęcie do kontenera usługi Azure Blob Storage.

W tym miejscu dowiesz się, jak utworzyć wyzwalacz obiektu blob i poinstruować go, aby monitorować określoną lokalizację w kontenerze obiektów blob usługi Azure Storage.

Co to jest Azure Storage?

Azure Storage to rozwiązanie do magazynowania w chmurze firmy Microsoft, które obsługuje wszystkie rodzaje danych, w tym obiekty blob, kolejki oraz dane NoSQL. Celem usługi Azure Storage jest udostępnienie magazynu danych o następujących cechach:

  • Wysoka dostępność
  • Zabezpieczanie
  • Skalowalny
  • Zarządzany

Nie będziemy skupiać się na omawianiu usługi Azure Storage. Użyjemy jej tylko do utworzenia obiektów blob, które będą wyzwalały funkcję.

Co to jest usługa Azure Blob Storage?

Azure Blob Storage to rozwiązanie magazynu obiektów przeznaczone do przechowywania dużych ilości danych bez struktury.

Usługa Azure Blob Storage doskonale sprawdza się na przykład w następujących zastosowaniach:

  • Przechowywanie plików
  • Udostępnianie plików
  • Przesyłanie strumieniowe audio i wideo
  • Rejestrowanie danych

Istnieją trzy typy obiektów blob: blokowe obiekty blob, uzupełnialne obiekty blob i stronicowe obiekty blob. Blokowe obiekty blob są używane najczęściej. Umożliwiają sprawne przechowywanie danych tekstowych lub binarnych. Uzupełnialne obiekty blob są podobne do blokowych obiektów blob, ale zostały zaprojektowane pod kątem operacji dołączania, na przykład tworzenia pliku dziennika, który jest stale aktualizowany. Stronicowe obiekty blob składają się ze stronic i zostały zaprojektowane pod kątem częstych losowych operacji odczytu i zapisu.

Co to jest wyzwalacz obiektu blob?

Wyzwalacz obiektu blob to wyzwalacz, który wykonuje funkcję podczas przekazywania lub aktualizowania pliku w usłudze Azure Blob Storage. Funkcje okresowo sprawdzają kontener magazynu pod kątem zmian, co może spowodować pewne opóźnienie. Istnieją sposoby zmniejszenia tego opóźnienia podczas wyzwalania w kontenerach obiektów blob.

Aby utworzyć wyzwalacz obiektu blob, należy utworzyć konto usługi Azure Storage i podać lokalizację monitorowaną przez wyzwalacz.

Jak utworzyć wyzwalacz obiektu blob

Podobnie jak w przypadku innych wyzwalaczy, które widzieliśmy do tej pory, możesz utworzyć wyzwalacz obiektu blob w witrynie Azure Portal. W ramach funkcji platformy Azure wybierz pozycję Wyzwalacz obiektu blob z listy wstępnie zdefiniowanych typów wyzwalaczy. Następnie wprowadź logikę, którą chcesz wykonać po utworzeniu lub zaktualizowaniu obiektu blob.

Jednym z ustawień, które należy zrozumieć, jest ścieżka. Ścieżka informuje wyzwalacz obiektu blob, który kontener obiektów blob ma być monitorowany, aby sprawdzić, czy obiekt blob został przekazany lub zaktualizowany. Domyślnie wartość ustawienia Ścieżka to:

samples-workitems/{name}

Podzielmy ją na dwie części: samples-workitems i {name}. Pierwsza część, czyli samples-workitems, oznacza kontener obiektów blob monitorowany przez wyzwalacz. Druga część, czyli {name}, oznacza, że wyzwalacz wywoła funkcję niezależnie od typu pliku. Funkcja jest wywoływana, ponieważ nie ma żadnego filtru. Można na przykład określić, że wyzwalacz ma wywołać funkcję tylko wtedy, gdy dodany zostanie plik w formacie PNG, używając następującej składni:

samples-workitems/{name}.png

Ostatnia znacząca informacja dotycząca tej koncepcji to nazwa tekstu. Tekst name reprezentuje parametr w funkcji platformy Azure, który otrzymuje nazwę dodanego pliku. Jeśli na przykład przekażemy plik o nazwie resume.txt, funkcja platformy Azure odbierze tę wartość jako ciąg za pośrednictwem parametru name.

Wyzwalacz obiektu blob wywołuje funkcję platformy Azure, gdy rozpozna aktywność w konkretnej lokalizacji na koncie usługi Azure Blob Storage. Możesz ustawić monitorowaną lokalizację, modyfikując wartość Ścieżka w witrynie Azure Portal.