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

Yeni bir işlev oluşturma

  1. İşlev uygulamanızı Visual Studio Code açın.

  2. 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.

  3. Event Grid blob tetikleyicinizin varsayılan URL 'si:

    http://localhost:7071/runtime/webhooks/blobs?functionName={functionname}
    

    İş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.

  4. İş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");
    }
    
  5. İşlevinizde günlüğe kaydetmeyi işleyen satırdaki bir kesme noktası ayarlayın.

  6. Bir hata ayıklama oturumu başlatın.

    Hata ayıklama oturumu başlatmak için F5 tuşuna bası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" yardımcı programını başlattıktan sonra komut Isteminin gösterildiği ekran görüntüsü.

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

  1. Azure portal açın ve depolama hesabınıza gidin ve sol menüden Olaylar seçeneğini belirleyin.

    Depolama hesabı ekleme olayı

  2. Olaylar penceresinde olay aboneliği düğmesini seçin.

  3. Olay aboneliği penceresinde, uç nokta türü açılan listesini seçin ve Web kancası' yi seçin.

    Abonelik türünü seçin

  4. 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.

    Uç nokta türünü seçin

    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:7071 ve işlev adı değiştirilir {functionname} .

  5. Aşağıdaki ekran görüntüsünde, bir tetikleyici türü kullanılırken son URL 'nin nasıl Event Grid görüntiğiyle bir örnek gösterilmektedir.

    Uç nokta seçimi

  6. 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.

Sonraki adımlar