Şu hatayı giderin: "Azure İşlevleri Çalışma Zamanı'na ulaşılamıyor"
Bu makale, Azure portalında görüntülenen aşağıdaki hata dizesini gidermenize yardımcı olur:
"Hata: Azure İşlevleri Çalışma Zamanına ulaşılamıyor. Depolama yapılandırmasıyla ilgili ayrıntılar için buraya tıklayın."
İşlevler çalışma zamanı başlatılamıyorsa bu sorun oluşur. Bunun en yaygın nedeni, işlev uygulamasının depolama hesabına erişimini kaybetmesidir. Daha fazla bilgi için bkz . Depolama hesabı gereksinimleri.
Bu makalenin geri kalanı, her bir olayı tanımlama ve çözme de dahil olmak üzere bu hatanın belirli nedenlerini gidermenize yardımcı olur.
Depolama hesabı silindi
Her işlev uygulamasının çalışması için bir depolama hesabı gerekir. Bu hesap silinirse işlevleriniz çalışmaz.
Uygulama ayarlarınızda depolama hesabınızın adını arayarak başlayın. bir bağlantı dizesi parçası olarak depolama hesabınızın adını veya AzureWebJobsStorage
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
adını içerir. Daha fazla bilgi için bkz. Azure İşlevleri için uygulama ayarları başvurusu.
Azure portalında depolama hesabınızı arayın ve hala mevcut olup olmadığını görün. Silinmişse depolama hesabını yeniden oluşturun ve depolama bağlantı dizesi değiştirin. İşlev kodunuz kaybolur ve yeniden dağıtmanız gerekir.
Depolama hesabı uygulama ayarları silindi
Önceki adımda, bağlantı dizesi bir depolama hesabı bulamazsanız, büyük olasılıkla silinmiş veya üzerine yazılmıştır. Uygulama ayarlarını silme işlemi genellikle uygulama ayarlarını ayarlamak için dağıtım yuvalarını veya Azure Resource Manager betiklerini kullandığınızda gerçekleşir.
Gerekli uygulama ayarları
- Gerekli:
- Elastik Premium ve Tüketim planı işlevleri için gereklidir:
Daha fazla bilgi için bkz. Azure İşlevleri için uygulama ayarları başvurusu.
Rehber
- Bu ayarlardan herhangi biri için yuva ayarını denetlemeyin. Dağıtım yuvalarını değiştirirseniz işlev uygulaması bozulur.
- Otomatik dağıtımların bir parçası olarak bu ayarları değiştirmeyin.
- Bu ayarların oluşturulma zamanında sağlanması ve geçerli olması gerekir. Bu ayarları içermeyen otomatik dağıtım, ayarlar daha sonra eklense bile çalışmayan bir işlev uygulamasıyla sonuçlanır.
Depolama hesabı kimlik bilgileri geçersiz
Depolama anahtarlarını yeniden oluşturursanız daha önce açıklanan depolama hesabı bağlantı dizesi güncelleştirilmelidir. Depolama anahtarı yönetimi hakkında daha fazla bilgi için bkz . Azure Depolama hesabı oluşturma.
Depolama hesabına erişilemiyor
İşlev uygulamanız depolama hesabına erişebilmelidir. İşlev uygulamasının depolama hesabına erişmesini engelleyen yaygın sorunlar şunlardır:
İşlev uygulaması, depolama hesabına gelen ve depolama hesabından giden trafiğe izin verecek doğru ağ kuralları olmadan App Service Ortamınıza (ASE) dağıtıldı.
Depolama hesabı güvenlik duvarı etkinleştirildi ve işlevlerden gelen ve giden trafiğe izin verecek şekilde yapılandırılmadı. Daha fazla bilgi için bkz. Azure Depolama güvenlik duvarlarını ve sanal ağları yapılandırma.
Ayarın
allowSharedKeyAccess
varsayılan değeri olan olarak ayarlandığınıtrue
doğrulayın. Daha fazla bilgi için bkz . Azure Depolama hesabı için Paylaşılan Anahtar yetkilendirmesini engelleme.
Günlük yürütme kotası dolu
Yapılandırılmış günlük yürütme kotanız varsa işlev uygulamanız geçici olarak devre dışı bırakılır ve bu da portal denetimlerinin çoğunun kullanılamaz duruma gelmesine neden olur.
Azure portalında kotayı doğrulamak için işlev uygulamanızda Platform Özellikleri>İşlev Uygulaması Ayarları'nı seçin. Ayarladığınız Günlük Kullanım Kotasını aştıysanız aşağıdaki ileti görüntülenir:
"İşlev Uygulaması günlük kullanım kotasını aştı ve sonraki 24 saat dilimine kadar durduruldu."
Bu sorunu çözmek için günlük kotayı kaldırın veya artırın ve uygulamanızı yeniden başlatın. Aksi takdirde, uygulamanızın yürütülmesi sonraki güne kadar engellenir.
Uygulama güvenlik duvarının arkasında
İşlev uygulamanıza aşağıdaki nedenlerden biri nedeniyle ulaşılamıyor olabilir:
İşlev uygulamanız dahili olarak yük dengeli bir App Service Ortamı barındırılır ve gelen İnternet trafiğini engelleyecek şekilde yapılandırılır.
İşlev uygulamanızın İnternet erişimini engelleyecek şekilde yapılandırılmış gelen IP kısıtlamaları vardır.
Azure portalı, işlev listesini getirmek için doğrudan çalışan uygulamaya çağrı yapar ve Kudu uç noktasına HTTP çağrıları yapar. Platform Özellikleri sekmesinin altındaki platform düzeyinde ayarlar hala kullanılabilir.
ASE yapılandırmanızı doğrulamak için:
- ASE'nin bulunduğu alt ağın ağ güvenlik grubuna (NSG) gidin.
- Uygulamaya eriştiğiniz bilgisayarın genel IP'sinden gelen trafiğe izin vermek için gelen kuralları doğrulayın.
Portalı, uygulamanızı çalıştıran sanal ağa bağlı bir bilgisayardan veya sanal ağınızda çalışan bir sanal makineden de kullanabilirsiniz.
Gelen kural yapılandırması hakkında daha fazla bilgi için, bir App Service Ortamı için ağ konuları'nın "Ağ Güvenlik Grupları" bölümüne bakın.
Linux'ta kapsayıcı hataları
Bir kapsayıcıda Linux üzerinde çalışan işlev uygulamaları için Azure Functions runtime is unreachable
hata, kapsayıcıyla ilgili sorunların bir sonucu olarak oluşabilir. Kapsayıcı günlüklerini hatalar için gözden geçirmek için aşağıdaki yordamı kullanın:
adresinde bulunan
https://<FUNCTION_APP>.scm.azurewebsites.net
işlev uygulamasının Kudu uç noktasına gidin; burada<FUNCTION_APP>
uygulamanızın adıdır.Docker günlüklerini .zip dosyasını indirin ve yerel bilgisayarınızdaki içeriği gözden geçirin.
Kapsayıcının başarıyla başlatılamadığını gösteren günlüğe kaydedilen hataları denetleyin.
Kapsayıcı görüntüsü kullanılamıyor
Başvurulmakta olan kapsayıcı görüntüsü kullanılamıyorsa veya düzgün başlatılamıyorsa hatalar oluşabilir. Kapsayıcının başarıyla başlatılamadığını gösteren günlüğe kaydedilen hataları denetleyin.
İşlev uygulamasının düzgün çalışması için kapsayıcının başlatılmasını engelleyen hataları düzeltmeniz gerekir.
Kapsayıcı görüntüsü bulunamadığında Docker günlüklerinde bir manifest unknown
hata görürsünüz. Bu durumda, başvurulmakta olan kapsayıcı görüntüsünü değiştirmek için Azure İşlevleri çalışma zamanı sürümlerini hedefleme bölümünde belgelenen Azure CLI komutlarını kullanabilirsiniz. Özel bir kapsayıcı görüntüsü dağıttıysanız, görüntüyü düzeltmeniz ve güncelleştirilmiş sürümü başvuruda bulunan kayıt defterine yeniden dağıtmanız gerekir.
Uygulama kapsayıcısı çakışan bağlantı noktalarına sahip
İşlev uygulamanız başlatma sırasında çakışan bağlantı noktası ataması nedeniyle yanıt vermemeye devam ediyor olabilir. Bu durum aşağıdaki durumlarda gerçekleşebilir:
- Kapsayıcınızda, bir veya daha fazla hizmetin işlev uygulamasıyla aynı bağlantı noktasına bağlanmak için bağlandığı ayrı hizmetler vardır.
- İşlev uygulamasıyla aynı bağlantı noktası değerini paylaşan bir Azure Hibrit Bağlantısı eklediniz.
Varsayılan olarak, işlev uygulamanızın çalıştırıldığı kapsayıcı bağlantı noktasını :80
kullanır. Aynı kapsayıcıdaki diğer hizmetler de bağlantı noktasını :80
kullanmaya çalıştığında işlev uygulaması başlatılamaz. Günlüklerinizde bağlantı noktası çakışmaları varsa, varsayılan bağlantı noktalarını değiştirin.
Konak kimliği çakışması
İşlevler çalışma zamanının 3.x sürümünden başlayarak konak kimliği çakışması algılanıp uyarı olarak günlüğe kaydedilir. Sürüm 4.x'te bir hata günlüğe kaydedilir ve konak durdurulur. İşlev uygulamanız için çalışma zamanı başlatılamıyorsa günlükleri gözden geçirin. Konak kimliği çakışmalarıyla ilgili bir uyarı veya hata varsa Konak Kimliği ile ilgili dikkat edilmesi gerekenler bölümünde yer alan azaltma adımlarını izleyin.
Salt okunur uygulama ayarları
Salt okunur App Service uygulama ayarlarını değiştirmek işlev uygulamanızı ulaşılamaz duruma getirebilir.
kimlik doğrulaması geçersiz kılmalarını ASP.NET
Yalnızca İşlevler konağıyla işlem halinde çalışan C# uygulamaları için geçerlidir.
İşlevler başlangıç sınıfında ASP.NET kimlik doğrulamasını yapılandırmak, Azure portalının konakla iletişim kurması için gereken hizmetleri geçersiz kılabilir. Bu, öğesine yapılan çağrıları AddAuthentication()
içerir ancak bunlarla sınırlı değildir. Konağın kimlik doğrulama hizmetleri geçersiz kılınırsa ve portal konakla iletişim kuramıyorsa, uygulamaya ulaşılamaz olarak kabul edilir. Bu sorun şu hatalara neden olabilir: No authentication handler is registered for the scheme 'ArmToken'.
.
Sonraki adımlar
İşlev uygulamalarınızı izleme hakkında bilgi edinin: