Azure Logic Apps’te iş akışı hatalarını giderme ve tanılama
Şunlar için geçerlidir: Azure Logic Apps (Tüketim + Standart)
Mantıksal uygulama iş akışınız, uygulamanızdaki sorunları tanılamanıza ve hatalarını ayıklamanıza yardımcı olabilecek bilgiler oluşturur. Azure portalını kullanarak iş akışındaki her adım için girişleri, çıkışları ve diğer bilgileri gözden geçirerek iş akışınızı tanılayabilirsiniz. Ya da çalışma zamanı hata ayıklaması için bir iş akışına bazı adımlar ekleyebilirsiniz.
Tetikleyici geçmişini denetleme
Her iş akışı çalıştırması, bir zamanlamaya göre tetiklenen veya gelen istek veya olayı bekleyen bir tetikleyiciyle başlar. Tetikleyici geçmişi, iş akışınızın yaptığı tüm tetikleyici girişimlerini ve her tetikleyici girişiminin giriş ve çıkışlarıyla ilgili bilgileri listeler. Tetikleyici tetiklenmiyorsa aşağıdaki adımları deneyin.
Tüketim mantığı uygulamanızda tetikleyicinin durumunu denetlemek için tetikleyici geçmişini gözden geçirin. Tetikleyici denemesi hakkında daha fazla bilgi görüntülemek için bu tetikleyici olayını seçin, örneğin:
Tetikleyicinin girişlerini denetleerek beklediğiniz gibi göründüklerini onaylayın. Geçmiş bölmesindeki Girişler bağlantısı altında Girişler bölmesini gösteren bağlantıyı seçin.
Tetikleyici girişleri, tetikleyicinin beklediği ve iş akışını başlatmak için gereken verileri içerir. Bu girişleri gözden geçirmek, tetikleyici girişlerinin doğru olup olmadığını ve iş akışının devam edebilmesi için koşulun karşılanıp karşılanmadığını belirlemenize yardımcı olabilir.
Tetikleyici çıkışlarını (varsa) kontrol edin ve beklediğiniz gibi göründüklerini doğrulayın. Geçmiş bölmesindeki Çıkışlar bağlantısı altında Çıkışlar bölmesini gösteren bağlantıyı seçin.
Tetikleyici çıkışları, tetikleyicinin iş akışınızdaki bir sonraki adıma geçirdiği verileri içerir. Bu çıkışları gözden geçirmek, iş akışınızdaki bir sonraki adıma doğru veya beklenen değerlerin geçirilip geçirilmediğini belirlemenize yardımcı olabilir.
Örneğin, bir hata iletisi RSS akışının bulunamadığını belirtir:
İpucu
Tanımadığınız herhangi bir içerik bulursanız Azure Logic Apps'teki farklı içerik türleri hakkında daha fazla bilgi edinin.
İş akışı çalıştırma geçmişini denetleme
Tetikleyici her tetiklendiğinde Azure Logic Apps bir iş akışı örneği oluşturur ve bu örneği çalıştırır. Bir çalıştırma başarısız olursa, çalıştırma sırasında neler olduğunu gözden geçirebilmeniz için aşağıdaki adımları deneyin. İş akışındaki her adım için durumu, girişleri ve çıkışları gözden geçirebilirsiniz.
Tüketim mantığı uygulamanızda iş akışının çalışma durumunu denetlemek için çalıştırma geçmişini gözden geçirin. Başarısız bir çalıştırma hakkında daha fazla bilgi görüntülemek ve bu durumdaki tüm adımlar da dahil olmak üzere başarısız çalıştırmayı seçin.
Çalıştırmadaki tüm adımlar göründükten sonra, şekillerini genişletmek için her adımı seçin.
Başarısız adım için girişleri, çıkışları ve hata iletilerini gözden geçirin.
Örneğin, aşağıdaki ekran görüntüsü başarısız RSS eyleminin çıkışlarını gösterir.
Çalışma zamanı hata ayıklamayı gerçekleştirme
Hata ayıklamaya yardımcı olmak için, tetikleyiciyi ve çalıştırma geçmişini gözden geçirmenin yanı sıra mantıksal uygulama iş akışına tanılama adımları ekleyebilirsiniz. Örneğin, Http isteklerini inceleyip bunların tam boyutunu, şeklini ve biçimini belirleyebilmeniz için Web Kancası Sınayıcısı hizmetini kullanan adımlar ekleyebilirsiniz.
Tarayıcıda Web Kancası Sınayıcısı sitesine gidin ve oluşturulan benzersiz URL'yi kopyalayın.
Mantıksal uygulamanızda, test etmek istediğiniz gövde içeriğiyle (örneğin, bir ifade veya başka bir adım çıkışı) bir HTTP POST eylemi ekleyin.
Web Kancası Sınayıcısı'ndan URL'nizi HTTP POST eylemine yapıştırın.
Azure Logic Apps'in istek oluşturma ve oluşturma şeklini gözden geçirmek için mantıksal uygulama iş akışını çalıştırın. Daha sonra daha fazla bilgi için Web Kancası Sınayıcısı sitesini yeniden ziyaret edebilirsiniz.
Performans - sık sorulan sorular (SSS)
İş akışı çalıştırma süresi neden tüm iş akışı eylem sürelerinin toplamından daha uzun?
Eylemleri çalıştırırken zamanlama ek yükü oluşurken arka uç sistem yükü nedeniyle eylemler arasında bekleme süresi gerçekleşebilir. İş akışı çalıştırma süresi, tüm eylem sürelerinin toplamıyla birlikte bu zamanlama saatlerini ve bekleme sürelerini içerir.
Genellikle iş akışım 10 saniye içinde tamamlanmaktadır. Ancak, bazen tamamlama çok daha uzun sürebilir. İş akışının her zaman 10 saniye içinde bitmesini nasıl sağlayabilirim?
Gecikme süresinde SLA garantisi yoktur.
Tüketim iş akışları çok kiracılı Azure Logic Apps üzerinde çalıştırıldığından, diğer müşterilerin iş yükleri iş akışınızın performansını olumsuz etkileyebilir.
Daha öngörülebilir performans için tek kiracılı Azure Logic Apps'te çalışan Standart iş akışları oluşturmayı düşünebilirsiniz. Performansı geliştirmek için ölçeği artırma veya genişletme konusunda daha fazla denetime sahip olursunuz.
Eylemim 2 dakika sonra zaman aşımına uğradı. Zaman aşımı değerini nasıl artırabilirim?
Eylem zaman aşımı değeri değiştirilemez ve 2 dakikada düzeltilir. HTTP eylemini kullanıyorsanız ve HTTP eylemi tarafından çağrılan hizmetin sahibiyseniz, zaman uyumsuz düzeni kullanarak 2 dakikalık zaman aşımını önlemek için hizmetinizi değiştirebilirsiniz. Daha fazla bilgi için Yoklama eylemi düzeniyle uzun süre çalışan görevleri gerçekleştirme'yi gözden geçirin.
Yaygın sorunlar - Standart mantıksal uygulamalar
Azure depolama hesabında erişilemez yapıtlar
Standart mantıksal uygulamalar tüm yapıtları bir Azure depolama hesabında depolar. Bu yapıtlara erişilemiyorsa aşağıdaki hataları alabilirsiniz. Örneğin, depolama hesabının kendisi erişilebilir olmayabilir veya depolama hesabı bir güvenlik duvarının arkasındadır ancak depolama hizmetlerinin kullanacağı özel uç nokta ayarlanmayabilir.
Azure portal konumu | Hata |
---|---|
Genel bakış bölmesi | - System.private.corelib:'C:\home\site\wwwroot\hostj.son yoluna erişim reddedildi - Azure.Storage.Blobs: Bu isteğin bu işlemi gerçekleştirme yetkisi yok |
İş akışları bölmesi | - Konak çalışma zamanına ulaşılamıyor. Hata ayrıntıları, Kod: 'BadRequest', İleti: 'Konak çalışma zamanından bir hatayla (InternalServerError) karşılaşıldı.' - Konak çalışma zamanına ulaşılamıyor. Hata ayrıntıları, Kod: 'BadRequest', İleti: 'Konak çalışma zamanından bir hatayla (ServiceUnavailable) karşılaşıldı.' - Konak çalışma zamanına ulaşılamıyor. Hata ayrıntıları, Kod: 'BadRequest', İleti: 'Konak çalışma zamanından bir hatayla (BadGateway) karşılaşıldı.' |
İş akışı oluşturma ve yürütme sırasında | - İş akışı kaydedilemedi - Tasarımcıda hata: GetCallFailed. İşlemler getirilemedi - ajaxExtended çağrısı başarısız oldu |
Sorun giderme seçenekleri
Aşağıdaki listede bu hataların olası nedenleri ve sorun gidermeye yardımcı olacak adımlar yer almaktadır.
Genel depolama hesabı için depolama hesabına erişimi aşağıdaki yollarla denetleyin:
Azure Depolama Gezgini kullanarak depolama hesabının bağlantısını denetleyin.
Mantıksal uygulama kaynağınızın uygulama ayarlarında AzureWebJobsStorage ve WEBSITE_CONTENTAZUREFILECONNECTIONSTRING uygulama ayarlarında depolama hesabının bağlantı dizesi onaylayın. Daha fazla bilgi için tek kiracılı Azure Logic Apps'te mantıksal uygulamalar için konak ve uygulama ayarları'nı gözden geçirin.
Bağlantı başarısız olursa, bağlantı dizesi Paylaşılan Erişim İmzası (SAS) anahtarının en son olup olmadığını denetleyin.
Önemli
Kullanıcı adları ve parolalar içeren bağlantı dizesi gibi hassas bilgileriniz varsa, kullanılabilir en güvenli kimlik doğrulama akışını kullandığınızdan emin olun. Örneğin, Standart mantıksal uygulama iş akışlarında ve
secureobject
gibisecurestring
güvenli veri türleri desteklenmez. Microsoft, mümkün olduğunda yönetilen kimlikle Azure kaynaklarına erişimin kimliğini doğrulamanızı ve gerekli en düşük ayrıcalığı olan bir rol atamanızı önerir.Bu özellik kullanılamıyorsa, bağlantı dizesi güvenliğini diğer ölçüler aracılığıyla (örneğin,
Uygulama ayarlarıyla kullanabileceğiniz Azure Key Vault. Daha sonra bağlantı dizesi ve anahtarlar gibi güvenli dizelere doğrudan başvurabilirsiniz. Dağıtım zamanında ortam değişkenlerini tanımlayabildiğiniz ARM şablonlarına benzer şekilde, mantıksal uygulama iş akışı tanımınızda uygulama ayarlarını tanımlayabilirsiniz. Daha sonra bağlantı uç noktaları, depolama dizeleri ve daha fazlası gibi dinamik olarak oluşturulan altyapı değerlerini yakalayabilirsiniz. Daha fazla bilgi için bkz. Microsoft kimlik platformu için uygulama türleri.
Güvenlik duvarının arkasındaki bir depolama hesabı için depolama hesabına erişimi aşağıdaki yollarla denetleyin:
Depolama hesabında güvenlik duvarı kısıtlamaları etkinleştirildiyse Blob, Dosya, Tablo ve Kuyruk depolama hizmetleri için özel uç noktaların ayarlanıp ayarlanmadığını denetleyin.
Azure Depolama Gezgini kullanarak depolama hesabının bağlantısını denetleyin.
Bağlantı sorunları bulursanız aşağıdaki adımlarla devam edin:
Mantıksal uygulamanızla tümleştirilmiş aynı sanal ağda farklı bir alt ağa yerleştirebileceğiniz bir Azure sanal makinesi oluşturun.
Komut isteminden nslookup komutunu çalıştırarak Blob, Dosya, Tablo ve Kuyruk depolama hizmetlerinin beklenen IP adreslerine çözümlenip çözümlenmediğini denetleyin.
Söz dizimi:
nslookup [StorageaccountHostName] [OptionalDNSServer]
Blob:
nslookup {StorageaccountName}.blob.core.windows.net
Dosya:
nslookup {StorageaccountName}.file.core.windows.net
Masa:
nslookup {StorageaccountName}.table.core.windows.net
Sıra:
nslookup {StorageaccountName}.queue.core.windows.net
Depolama hizmetinin Bir Hizmet Uç Noktası varsa, hizmet bir genel IP adresine çözümler.
Depolama hizmetinin özel uç noktası varsa, hizmet ilgili ağ arabirimi denetleyicisi (NIC) özel IP adreslerine çözümleniyor.
Önceki etki alanı adı sunucusu (DNS) sorguları başarıyla çözümleniyorsa, 443 numaralı bağlantı noktası üzerinden depolama hesabına bağlantıyı denetlemek için psping veya tcpping komutlarını çalıştırın:
Söz dizimi:
psping [StorageaccountHostName] [Port] [OptionalDNSServer]
Blob:
psping {StorageaccountName}.blob.core.windows.net:443
Dosya:
psping {StorageaccountName}.file.core.windows.net:443
Masa:
psping {StorageaccountName}.table.core.windows.net:443
Sıra:
psping {StorageaccountName}.queue.core.windows.net:443
Her depolama hizmeti Azure sanal makinenizden çözümlenebilirse, çözümleme için sanal makine tarafından kullanılan DNS'yi bulun.
Mantıksal uygulamanızın WEBSITE_DNS_SERVER uygulama ayarını DNS olarak ayarlayın ve DNS'nin başarıyla çalıştığını onaylayın.
Standart mantıksal uygulamanızda uygun sanal ağ ve alt ağ ile sanal ağ tümleştirmenin doğru ayarlandığını onaylayın.
Depolama hesabınızın özel uç nokta hizmetleri için özel Azure DNS bölgeleri kullanıyorsanız mantıksal uygulamanızın tümleşik sanal ağına bir sanal ağ bağlantısı oluşturulup oluşturulmadığını denetleyin.
Daha fazla bilgi için Standart mantıksal uygulamayı hizmet veya özel uç noktaları kullanarak güvenlik duvarının arkasındaki bir depolama hesabına dağıtma bölümüne bakın.