Azure Işlevi Event Grid blob tetikleyicisi
Bu makalede, bir depolama hesabı tarafından oluşturulan olayları işleyen yerel bir Event Grid blob tetikleme işlevinin nasıl ayıklanacağı ve dağıtıldığı gösterilmektedir.
Not
Event Grid blob tetikleyicisi önizlemededir.
Önkoşullar
- Mevcut bir işlev uygulaması oluşturma veya kullanma
- Var olan bir depolama hesabı oluşturun veya kullanın
- Microsoft. Azure. WebJobs. Extensions. Storage uzantısının yüklü olan 5.0 + sürümüne sahip
- Azure 'un yerel işlevinizi aramasını sağlamak için ngrok indirin
Yeni bir işlev oluşturma
İşlev uygulamanızı Visual Studio Code açın.
Yeni bir blob tetikleyici işlevi oluşturmak için F1 'e basın . Depolama hesabınız için bağlantı dizesini kullandığınızdan emin olun.
Event Grid blob tetikleyicinizin varsayılan URL 'si:
İşlev uygulamanızın adını ve tetikleyici türünün URL 'de tarafından belirtilen bir blob tetikleyicisi olduğunu unutmayın
blobs. Bu işlem, nasıl yapılır kılavuzunda daha sonra uç noktaları ayarlarken gerekecektir.
İşlev oluşturulduktan sonra Event Grid Kaynak parametresini ekleyin.
İşlev parametrelerine Source = BlobTriggerSource. EventGrid ekleyin.
[FunctionName("BlobTriggerCSharp")] public static void Run([BlobTrigger("samples-workitems/{name}", Source = BlobTriggerSource.EventGrid, Connection = "connection")]Stream myBlob, string name, ILogger log) { log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes"); }
İşlevinizde günlüğe kaydetmeyi işleyen satırdaki bir kesme noktası ayarlayın.
Bir hata ayıklama oturumu başlatın.
Azure 'un yerel işlevinizi aramasını sağlar
Makinenizde hata ayıklamakta olan bir işleve bölmek için, Azure 'un buluttan yerel işleviniz ile iletişim kurması için bir yol etkinleştirmeniz gerekir.
Ngrok yardımcı programı, Azure 'un makinenizde çalışan işlevi çağırması için bir yol sağlar. Aşağıdaki komutu kullanarak ngrok öğesini başlatın:
ngrok http -host-header=localhost 7071
Yardımcı program ayarlandığı için komut penceresi aşağıdaki ekran görüntüsüne benzer görünmelidir:
Ngrok çalıştırıldığında oluşturulan https URL 'sini kopyalayın. Bu değer, Event Grid olay uç noktası yapılandırılırken kullanılır.
Depolama olayı ekleme
Azure portal açın ve depolama hesabınıza gidin ve sol menüden Olaylar seçeneğini belirleyin.
Olaylar penceresinde olay aboneliği düğmesini seçin.
Olay aboneliği penceresinde, uç nokta türü açılan listesini seçin ve Web kancası' yi seçin.
Uç nokta türü yapılandırıldıktan sonra uç nokta değerini yapılandırmak için uç nokta seç ' e tıklayın.
Abone uç noktası değeri üç farklı değerden oluşur. Ön ek, ngrok tarafından oluşturulan https URL 'sidir. URL 'nin geri kalanı, nasıl yapılır kılavuzunda daha önce kopyalanmış, işlev adı sonuna eklenmiş olan localhost URL 'sinden gelir. Localhost URL 'SI ile başlayarak, ngrok URL 'sinin yerini alır
http://localhost:7071ve işlev adı değiştirilir
{functionname}.
Aşağıdaki ekran görüntüsünde, bir tetikleyici türü kullanılırken son URL 'nin nasıl
Event Gridgörüntiğiyle bir örnek gösterilmektedir.
Uygun değeri girdikten sonra Seçimi Onayla' ya tıklayın.
Önemli
Ngrok'yi her BAŞLATTıĞıNıZDA, https URL 'si yeniden oluşturulur ve değer değişir. Bu nedenle, ngrok aracılığıyla Işlevinizi Azure 'a her kullanıma sunışınızda yeni bir olay aboneliği oluşturmanız gerekir.
Dosyayı karşıya yükleme
Şimdi, yerel işlevinizin işlemesi için bir Event Grid olayı tetiklemek üzere depolama hesabınıza bir dosya yükleyebilirsiniz.
Depolama Gezgini açın ve depolama hesabınıza bağlayın.
- BLOB kapsayıcılarını Genişlet
- Sağ tıklayıp BLOB kapsayıcısı oluştur' u seçin.
- Kapsayıcı örneklerini adlandırın -WORKITEMS
- Samples-WorkItems kapsayıcısını seçin
- Karşıya yükle düğmesine tıklayın
- Dosyaları karşıya yükle 'ye tıklayın
- Bir dosya seçin ve BLOB kapsayıcısına yükleyin
İşlevde hata ayıkla
Blob tetikleyicisi, depolama kapsayıcısına yeni bir dosya yüklendiğini tanıdığında, kesme noktası yerel işlevinizde görüntülenir.
Dağıtım
İşlev uygulamasını Azure 'a dağıtırken, Web kancası uç noktasını yerel uç noktanıza dağıtılan uygulama uç noktanıza güncelleştirin. Bir uç noktayı güncelleştirmek için, depolama olayı ekleme bölümündeki adımları izleyin ve 5. adımdaki Web kancası URL 'si için aşağıdaki öğesini kullanın. ,
<BLOB-EXTENSION-KEY> İşlev uygulaması sol menüsündeki uygulama anahtarları bölümünde bulunabilir.
https://<FUNCTION-APP-NAME>.azurewebsites.net/runtime/webhooks/blobs?functionName=<FUNCTION-NAME>&code=<BLOB-EXTENSION-KEY>
Kaynakları temizleme
Bu makalede oluşturulan kaynakları temizlemek için, bu öğreticide oluşturduğunuz Event Grid aboneliğini silin.