Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 Hizmet Bağlayıcısı 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 | Tetikleyici Olarak Depolama Kuyruğu |
| Yerel Proje Kimlik Doğrulama Türü | Bağlantı Dizesi |
| Bulut İşlevi Kimlik Doğrulama Türü | Bağlantı Dizesi |
Uyarı
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Bu yordamda açıklanan kimlik doğrulama akışı, uygulamada çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskleri taşır. Bu akışı yalnızca yönetilen kimlikler gibi diğer daha güvenli akışlar uygun olmadığında kullanmalısınız.
Önkoşullar
- Desteklenen platformlardan birinde Visual Studio Code’u yükleyin.
- Azure CLI. Azure Cloud Shell'de kullanabilir veya yerel olarak yükleyebilirsiniz.
- Azure Depolama Hesabı ve depolama kuyruğu. Azure Depolama'nız yoksa bir tane oluşturun.
- Bu kılavuzda, Azure İşlevleri geliştirici kılavuzunda sunulan temel kavramları ve İşlevler'deki hizmetlere nasıl bağlanabileceğinizi bildiğiniz varsayılır.
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" 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çin Create new local app settings. |
Tetikleyici olarak Azure Depolama Kuyruğu ile bir Python işlev projesi oluşturdunuz. Yerel proje, dosyaya kaydedilen bağlantı dizesi kullanarak Azure Depolama'ya local.settings.json 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.
- 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.
- İş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</kbd>. - 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 bölmesini 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 Connector 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.
-
function.jsonDosyayı yerel projenizde açın, içindeki özelliğininconnectionbindingsdeğerini olarakAZURE_STORAGEQUEUE_CONNECTIONSTRINGdeğiştirin. - 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-idbiçim:/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site} -
--target-idbiçim:/subscriptions/{subscription}/resourceGroups/{target_resource_group}/providers/Microsoft.Storage/storageAccounts/{account}/queueServices/default
Bu adım, işlevin Uygulama Ayarları'nda bir değişken yapılandıran bir AZURE_STORAGEQUEUE_CONNECTIONSTRING Hizmet Bağlayıcısı 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 Hizmet Bağlayıcısı'nın hizmetlere bağlanmaya Azure İşlevleri nasıl yardımcı olduğunu öğrenin.
İşlevinizi Azure'a dağıtma
Artık işlevinizi Azure'a dağıtabilir ve depolama kuyruğu tetikleyicisinin çalıştığını doğrulayabilirsiniz.
- İşlevinizi Azure'a dağıtmak için bu Azure İşlevleri öğreticisini izleyin.
- Azure portalında Depolama Kuyruğu bölmesini 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 (<account-name>.queue.core.windows.net:443)hatalar varsa, Azure Depolama'ya 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'ya gidin, bölmeden 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ını denetleyin.
Kaynakları temizleme
Bu projeyi kullanmaya devam etmeyecekseniz, daha önce oluşturduğunuz İşlev Uygulaması kaynağını silin.
- Azure portalında İşlev Uygulaması kaynağını açın ve Sil'i seçin.
- Uygulama adını girin ve onaylamak için Sil'i seçin.
Sonraki adımlar
Service Connector kavramları ve Azure İşlevleri hizmetlere bağlanmaya nasıl yardımcı olduğu hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri okuyun.