Aracılığıyla paylaş


Öğretici: Tetikleyici olarak Azure Kuyruk Depolama ile Python işlevi

Bu öğreticide, aşağıdaki görevleri tamamlayarak tetikleyici olarak Depolama Kuyruğu ile bir Python işlevini yapılandırmayı öğreneceksiniz.

  • Python işlev projesi oluşturmak için Visual Studio Code'u kullanın.
  • İşlevi yerel olarak çalıştırmak için Visual Studio Code'u kullanın.
  • Azure İşlevi ile Service Bağlan or ile Depolama Kuyruğu arasında bağlantı oluşturmak için Azure CLI'yi kullanın.
  • İşlevinizi dağıtmak için Visual Studio'yu kullanın.

Bu öğreticide işlev projesi bileşenlerine genel bakış:

Proje Bileşeni Seçim / Çözüm
Kaynak Hizmet Azure İşlevi
Hedef Hizmet Azure Depolama Kuyruğu
İşlev Bağlama Sırayı Tetikleyici Olarak Depolama
Yerel Proje Kimlik Doğrulama Türü Bağlantı Dizesi
Bulut İşlevi Kimlik Doğrulama Türü Bağlantı Dizesi

Önkoşullar

Python işlev projesi oluşturma

Yerel bir Azure İşlevleri projesi oluşturmak için öğreticiyi izleyin ve istemlerde aşağıdaki bilgileri sağlayın:

İstem Seçim
Dil seçin Python öğesini seçin. (v1 programlama dili modeli)
Sanal ortam oluşturmak için Python yorumlayıcısını seçme Tercih ettiğiniz Python yorumlayıcıyı seçin. Bir seçenek gösterilmiyorsa Python ikili dosyanızın tam yolunu yazın.
Projenizin ilk işlevi için bir şablon seçin Azure Queue Storage trigger öğesini seçin.
İşlev adı belirtin QueueStorageTriggerFunc girin.
"local.settings.json" dosyasından ayarı seçin Depolama Hesabınızı seçmenize ve tetikleyici olarak çalışan kuyruk adınızı sağlamanıza olanak tanıyan öğesini seçinCreate new local app settings.

Tetikleyici olarak Azure Depolama Kuyruğu ile bir Python işlev projesi oluşturdunuz. Yerel proje, dosyaya kaydedilen local.settings.json bağlantı dizesi kullanarak Azure Depolama bağlanır. Son olarak, işlevin dosyasındaki işlev, main dosyada __init__.py tanımlanan function.json İşlev Bağlaması yardımıyla bağlantı dizesi kullanabilir.

İşlevi yerel olarak çalıştırma

İşlevi yerel olarak çalıştırmak ve tetikleyiciyi doğrulamak için öğreticiyi izleyin.

  1. Depolamaya bağlanmanız istenirse Azure İşlevi kaynağını oluştururken seçtiğiniz depolama hesabını seçin. Bu değer Azure İşlevi'nin çalışma zamanı için kullanılır ve tetikleyici için kullandığınız depolama hesabıyla aynı olmayabilir.
  2. İşlevi yerel olarak başlatmak için F5 tuşuna basın <kbd>veya sol taraftaki Etkinlik çubuğunda Çalıştır ve Hata Ayıkla simgesini seçin.</kbd>
  3. Tetikleyicinin düzgün çalıştığını doğrulamak için işlevi yerel olarak çalışır durumda tutun ve Azure portalında Depolama Kuyruğu dikey penceresini açın, İleti ekle'yi seçin ve bir test iletisi sağlayın. İşlevin tetiklendiğini ve Visual Studio Code terminalinizde kuyruk öğesi olarak işlendiğini görmeniz gerekir.

Service Bağlan or kullanarak bağlantı oluşturma

Son adımda işlev projesini yerel olarak doğruladınız. Şimdi buluta dağıtıldıktan sonra işlevinizin depolama kuyruğu tarafından tetiklenebilmesi için Bulutta Azure İşlevi ile Azure Depolama Kuyruğu arasındaki bağlantıyı yapılandırmayı öğreneceksiniz.

  1. function.json Dosyayı yerel projenizde açın, içindeki özelliğinin connectionbindings değerini olarak AZURE_STORAGEQUEUE_CONNECTIONSTRINGdeğiştirin.
  2. Azure İşleviniz ile Azure depolama hesabınız arasında bağlantı oluşturmak için aşağıdaki Azure CLI komutunu çalıştırın.
az functionapp connection create storage-queue --source-id "<your-function-resource-id>" --target-id "<your-storage-queue-resource-id>" --secret
  • --source-id Biçim: /subscriptions/{subscription}/resourceG roups/{source_resource_group}/providers/Microsoft.Web/sites/{site}
  • --target-id Biçim: /subscriptions/{subscription}/resourceGroups/{target_resource_group}/providers/Microsoft.Storage/storageAccounts/{account}/queueServices/default

Bu adım, işlevin Uygulama Ayarlar bir değişken yapılandıran bir AZURE_STORAGEQUEUE_CONNECTIONSTRING Service Bağlan or kaynağı oluşturur. İşlev bağlama çalışma zamanı depolamaya bağlanmak için bunu kullanır, böylece işlev depolama kuyruğundan tetikleyicileri kabul edebilir. Daha fazla bilgi için Bkz. Hizmet Bağlan veya hizmetlere bağlanmaya Azure İşlevleri nasıl yardımcı olur?

İşlevinizi Azure'a dağıtma

Artık işlevinizi Azure'a dağıtabilir ve depolama kuyruğu tetikleyicisinin çalıştığını doğrulayabilirsiniz.

  1. İşlevinizi Azure'a dağıtmak için bu Azure İşlevleri öğreticisini izleyin.
  2. Azure portalında Depolama Kuyruğu dikey penceresini açın, İleti ekle'yi seçin ve bir test iletisi sağlayın. İşlevin tetiklendiğini ve işlev günlüklerinizde kuyruk öğesi olarak işlendiğini görmeniz gerekir.

Sorun giderme

depolama konağıyla ilgili gibi No such host is known (<acount-name>.queue.core.windows.net:443)hatalar varsa, Azure Depolama bağlanmak için kullandığınız bağlantı dizesi kuyruk uç noktasını içerip içermediğini denetleyin. Yoksa, Azure portalında Azure Depolama gidin, dikey penceredeki Access keys bağlantı dizesi kopyalayın ve değerleri değiştirin.

Projeyi yerel olarak başlattığınızda bu hata oluşursa dosyayı denetleyin local.settings.json .

İşlevinizi buluta dağıttığınızda bu hata oluşursa (bu durumda İşlev dağıtımı genellikle üzerinde Syncing triggers başarısız olur), İşlevinizin Uygulama Ayarlar denetleyin.

Kaynakları temizleme

Bu projeyi kullanmaya devam etmeyecekseniz, daha önce oluşturduğunuz İşlev Uygulaması kaynağını silin.

  1. Azure portalında İşlev Uygulaması kaynağını açın ve Sil'i seçin.
  2. Uygulama adını girin ve onaylamak için Sil'i seçin.

Sonraki adımlar

Hizmet Bağlan veya kavramlar hakkında daha fazla bilgi edinmek ve hizmetlere bağlanmaya Azure İşlevleri nasıl yardımcı olduğu hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri okuyun.