Aracılığıyla paylaş


İşlev uygulamanızı yönetme

Azure Functions bir işlev uygulaması, tek tek işlevlerinizin yürütme bağlamını sağlar. İşlev uygulaması davranışları, belirli bir işlev uygulaması tarafından barındırılan tüm işlevler için geçerlidir. İşlev uygulamasındaki tüm işlevler aynı dilde olmalıdır.

İşlev uygulamasındaki tek tek işlevler birlikte dağıtılır ve birlikte ölçeklendirilir. Aynı işlev uygulamasındaki tüm işlevler, işlev uygulaması ölçeklendirildikçe örnek başına kaynakları paylaşır.

Bağlantı dizeleri, ortam değişkenleri ve diğer uygulama ayarları her işlev uygulaması için ayrı ayrı tanımlanır. İşlev uygulamaları arasında paylaşılması gereken tüm veriler kalıcı bir depoda harici olarak depolanmalıdır.

Azure portalında çalışmaya başlama

Not

Azure portalında işlev kodunu düzenlemeyle ilgili sınırlamalar nedeniyle, işlevlerinizi yerel olarak geliştirmeli ve kod projenizi Azure bir işlev uygulamasında yayımlamalısınız. Daha fazla bilgi için bkz. Azure portalında Geldirme sınırlamaları

İşlev uygulamanızdaki uygulama ayarlarını görüntülemek için şu adımları izleyin:

  1. Azure hesabınızı kullanarak Azure portalında oturum açın. İşlev uygulamanızı arayın ve seçin.

  2. İşlev uygulamanızın sol bölmesinde Ayarlar'ı genişletin, Ortam değişkenleri'ni ve ardından Uygulama ayarları sekmesini seçin.

    İşlev uygulamasında Uygulama ayarları sayfasının nasıl seçildiğini gösteren ekran görüntüsü.

Uygulama ayarlarıyla çalışma

Azure Functions tarafından kullanılan önceden tanımlanmış uygulama ayarlarına ek olarak, işlev kodunuzun gerektirdiği şekilde istediğiniz sayıda uygulama ayarı oluşturabilirsiniz. Daha fazla bilgi için bkz. Azure Functions için Uygulama Ayarları Başvurusu.

Bu ayarlar şifrelenmiş olarak depolanır. Daha fazla bilgi için bkz . Uygulama ayarları güvenliği.

Uygulama ayarlarını Azure portalından ve Azure CLI ve Azure PowerShell kullanarak yönetebilirsiniz. Uygulama ayarlarını Visual Studio Code ve Visual Studio'den de yönetebilirsiniz.

Not

Uygulama ayarlarının değiştirilmesi, işlev uygulamanızın tüm barındırma planlarına göre varsayılan olarak yeniden başlatılmasına neden olur. Ayarları değiştirirken sıfır kapalı kalma süresi dağıtımları için Esnek Tüketim planını, site güncelleştirme stratejisi olarak sıralı güncelleştirmeler ile birlikte kullanın. Diğer barındırma planları için kesinti süresini en aza indirme rehberi için dağıtımları iyileştirme sayfasına bakın.

Uygulama ayarlarınızı görüntülemek için bkz. Azure portalında başlama.

Uygulama ayarları sekmesi, işlev uygulamanız tarafından kullanılan ayarları korur:

  1. Uygulama ayarlarının değerlerini görmek için Değerleri göster'i seçin.

  2. Ayar eklemek için + Ekle'yi seçin ve ardından yeni anahtar-değer çiftinin Adı ve Değeri'ni girin.

    bir işlev uygulamasında Uygulama ayarları sayfasını gösteren ekran görüntüsü.

Uygulama ayarlarını kullanma

İşlev uygulaması ayarları değerleri, kodunuz içinde ortam değişkenleri olarak da okunabilir. Daha fazla bilgi için bu dile özgü başvuru makalelerinin Ortam değişkenleri bölümüne bakın:

Bir işlev uygulamasını yerel olarak geliştirirken, bu değerlerin yerel kopyalarını local.settings.json proje dosyasında tutmanız gerekir. Daha fazla bilgi için bkz . Yerel ayarlar dosyası.

FTPS dağıtım ayarları

Azure Functions, FTPS kullanarak işlev uygulamanıza proje kodu dağıtmayı destekler. Bu dağıtım yöntemi tetikleyicileri eşitlemenizi gerektirdiği için önerilmez. Proje dosyalarını güvenli bir şekilde aktarmak için her zaman FTP'yi değil FTPS'yi kullanın.

FTPS dağıtımı için gereken kimlik bilgilerini almak için şu yöntemlerden birini kullanın:

İşlev uygulamanızın yayımlama profilini indirerek Azure portalında FTPS yayımlama kimlik bilgilerini alabilirsiniz.

Önemli

Yayımlama profili önemli güvenlik kimlik bilgilerini içerir. İndirilen dosyanın güvenliğini her zaman yerel bilgisayarınızda sağlayın.

İşlev uygulamanızın yayımlama profilini indirmek için:

  1. Azure portalında işlev uygulamanızın sayfasını bulun, sol sütunda Settings>Configuration genişletin.

  2. Yapılandırma sayfasında Genel ayarlar sekmesini seçin ve SCM Temel Kimlik Doğrulama Yayımlama Kimlik Bilgileri'ninAçık olduğundan emin olun. Bu ayar Kapalı olduğunda yayımlama profillerini kullanamazsınız, bu nedenle Açık'ı ve ardından Uygula'yı seçin.

  3. İşlev uygulamasının Genel Bakış sayfasına dönün ve ardından Yayımlama profilini al'ı seçin.

    Yayımlama profilini indir

  4. Dosyanın içeriğini kaydedin ve kopyalayın.

  1. Dosyada, publishMethod="FTP" özniteliğine sahip publishProfile öğesini bulun. Bu öğede publishUrl, , userNameve userPWD öznitelikleri FTPS yayımlama için hedef URL'yi ve kimlik bilgilerini içerir.

Barındırma planı türü

bir işlev uygulaması oluşturduğunuzda, uygulamanın çalıştığı bir barındırma planı da oluşturursunuz. Bir planda bir veya daha fazla işlev uygulaması olabilir. İşlevlerinizin işlevselliği, ölçeklendirmesi ve fiyatlandırması planın türüne bağlıdır. Daha fazla bilgi için bkz. Azure Functions barındırma seçenekleri.

İşlev uygulamanız tarafından kullanılan plan türünü Azure portalından veya Azure CLI veya Azure PowerShell API'lerini kullanarak belirleyebilirsiniz.

Aşağıdaki değerler plan türünü gösterir:

Plan türü Azure portalı Azure CLI/PowerShell
Tüketim Tüketim Dynamic
Premium ElasticPremium ElasticPremium
Özel (App Service) Çeşitli Çeşitli
  1. İşlev uygulamanız tarafından kullanılan plan türünü belirlemek için Azure portalında işlev uygulamasının Overview sayfasındaki App Service Plan bölümüne bakın.

    İşlev uygulamasının Genel Bakış sayfasındaki App Service Planı bağlantısını gösteren ekran görüntüsü.

  2. Fiyatlandırma katmanını görmek için App Service Planının adını seçin ve ardından sol bölmeden Ayarlar > Özellikleri'ni seçin.

Geçişi planlama

Bir işlev uygulamasını Tüketim Planı ile Premium Planı arasında Windows'ta geçirebilirsiniz.

Tavsiye

Tüketim planı uygulamanızı Premium plan yerine Flex Consumption planında çalışacak şekilde geçirmenizi öneririz. Flex Tüketim planına geçiş, Linux Tüketim planı uygulaması için tek geçiş seçeneğidir. Daha fazla bilgi için bkz . Tüketim planı uygulamalarını Esnek Tüketim planına geçirme.

Planlar arasında geçiş yaparken aşağıdaki noktaları göz önünde bulundurun:

  • Ayrılmış (App Service) planına doğrudan geçiş desteklenmez.
  • Linux'ta geçiş desteklenmez.
  • Kaynak plan ve hedef plan aynı kaynak grubunda ve coğrafi bölgede olmalıdır. Daha fazla bilgi için bkz . Uygulamayı başka bir App Service planına taşıma.
  • Belirli CLI komutları geçişin yönüne bağlıdır.
  • Planlar arasında taşındığında, işlev uygulamanızdaki işlev yürütmelerinde kesinti süresi oluşur.
  • Aynı Azure Files paylaşımı uygulama tarafından geçiş öncesinde ve sonrasında kullanıldığından, durum ve uygulamaya özgü diğer içerik korunur.

Planınızı şu araçları kullanarak taşıyabilirsiniz:

Farklı bir plana geçmek için Azure portal kullanabilirsiniz.

Windows'da uygulamanız için geçiş yönünü seçin.

  1. Azure portalında Tüketim planı uygulamanıza gidin ve sol bölmede App Service planı genişletin ve App Service planı öğesini seçin.

  2. App Service planı sayfasında Geçerli App Service planı altında Planı değiştir'i seçin.

  3. App Service planını değiştir bölümünde Plan türü için Premium'u seçin, yeni bir Premium plan oluşturun ve Tamam'ı seçin.

Daha fazla bilgi için bkz . Uygulamayı başka bir App Service planına taşıma.

Azure portalında geliştirme sınırlamaları

Aşağıdaki tabloda, portal içi düzenlemeyi destekleyen işletim sistemleri ve diller gösterilmektedir:

Dil Flex Consumption Premium Dedicated Tüketim
C# (programlama dili)
Java
JavaScript (Node.js) Yalnızca Windows
Python Yalnızca Linux Yalnızca Linux Yalnızca Linux
PowerShell Yalnızca Windows Yalnızca Windows Yalnızca Windows
TypeScript (Node.js)

İşlevlerinizi Azure portalında geliştirirken bu sınırlamaları göz önünde bulundurun:

  • Portal içi düzenleme yalnızca Azure portalında oluşturulan veya en son değiştirilen işlevler için desteklenir.
  • Portal içi düzenleme yalnızca JavaScript, PowerShell, Python ve C# betiği (işlem içi) işlevleri için desteklenir.
  • Portal içi düzenleme şu anda Flex Consumption planı tarafından desteklenmiyor.
  • Uygulamalarınızı Linux üzerinde tüketim planında çalıştırma özelliği kullanımdan kaldırılması planlanıyor. Daha fazla bilgi için Azure Functions Tüketim Planı Barındırma'ya bakın.
  • Azure portalının dışından bir işlev uygulamasına kod dağıttığınızda, artık portalda bu işlev uygulamasının kodlarından hiçbirini düzenleyemezsiniz. Bu durumda yerel geliştirmeyi kullanmaya devam edin.
  • Python için özel modüllerle geliştirme şu anda portalda desteklenmemektedir. İşlev uygulamanıza özel modüller eklemek için uygulamanızı yerel olarak geliştirmeniz gerekir.
  • Derlenmiş C# işlevleri ve Java işlevleri için portalda işlev uygulamasını ve ilgili kaynakları oluşturabilirsiniz. Ancak, işlev kodu projesini yerel olarak oluşturup Azure yayımlamanız gerekir.

Mümkün olduğunda işlevlerinizi yerel olarak geliştirin ve kod projenizi Azure bir işlev uygulamasında yayımlayın. Daha fazla bilgi için bkz. Azure İşlevlerini yerel olarak kodlayın ve test edin.

Uzantıları el ile yükleme

C# sınıf kitaplığı işlevleri, uzantıları doğrudan sınıf kitaplığı projesinde bağlamaya yönelik NuGet paketlerini içerebilir. diğer .NET olmayan diller ve C# betiği için uzantı paketlerini kullanmanız gerekir. Uzantıları el ile yüklemeniz gerekiyorsa, bunu Azure Functions Core Tools yerel olarak kullanarak yapabilirsiniz. Uzantı paketlerini kullanamıyorsanız ve yalnızca portalda çalışabiliyorsanız, extensions.csproj dosyasını doğrudan sitede el ile oluşturmak için Gelişmiş Araçlar'ı (Kudu) kullanmanız gerekir. önce öğesini host.json dosyasından kaldırdığınızdan extensionBundleemin olun.

Aynı işlem, uygulamanıza eklemeniz gereken diğer tüm dosyalarda da çalışır.

Önemli

Mümkün olduğunda, Azure'da doğrudan işlev uygulamanızda dosyaları düzenlemeyin. Uygulama dosyalarınızı yerel olarak indirmenizi, uzantıları ve diğer paketleri yüklemek için Core Tools'u kullanmanızı, değişikliklerinizi doğrulamanızı ve ardından Core Tools veya desteklenen diğer dağıtım yöntemlerinden birini kullanarak uygulamanızı yeniden yayımlamanızı öneririz.

Azure portalında yerleşik olarak bulunan İşlevler düzenleyicisi, işlev kodunuzu ve yapılandırma dosyalarınızı doğrudan portalda güncelleştirmenize olanak tanır:

  1. İşlev uygulamanızı seçin, ardından İşlevler'in altında İşlevler'i seçin.

  2. İşlevinizi seçin ve Geliştirici'nin altında Kod + test'i seçin.

  3. Düzenlemek istediğiniz dosyayı seçin ve bitirdiğinizde Kaydet'i seçin.

Uygulamanın kökündeki function.proj veya extensions.csproj gibi dosyaların Gelişmiş Araçlar (Kudu) kullanılarak oluşturulması ve düzenlenmesi gerekir:

  1. İşlev uygulamanızı seçin, Geliştirme araçlarını genişletin ve ardından Gelişmiş araçlar>Git öğesini seçin.

  2. İstenirse, Azure kimlik bilgilerinizle Kaynak Denetim Yöneticisi (SCM) sitesinde oturum açın.

  3. Hata ayıklama konsolu menüsünden CMD'yi seçin.

  4. adresine .\site\wwwrootgidin, üstteki artı (+) düğmesini seçin ve Yeni dosya'yı seçin.

  5. Dosyaya gibi extensions.csprojbir ad verin ve Enter tuşuna basın.

  6. Yeni dosyanın yanındaki düzenle düğmesini seçin, dosyaya kod ekleyin veya güncelleştirin ve ardından Kaydet'i seçin.

  7. extensions.csproj gibi bir proje dosyası için aşağıdaki komutu çalıştırarak extensions projesini yeniden oluşturun:

    dotnet build extensions.csproj
    

Platform özellikleri

İşlev uygulamaları, bunların bakımını yapan Azure App Service platformunda çalışır. Bu nedenle işlev uygulamalarınız Azure temel web barındırma platformunun özelliklerinin çoğuna erişebilir. Azure portalını kullandığınızda, sol bölmede App Service platformunun işlev uygulamalarınızda kullanabileceğiniz birçok özelliğe erişebilirsiniz.

Aşağıdaki matriste, barındırma planı ve işletim sistemi tarafından Azure portal özelliği desteği gösterilir:

Özellik Tüketim planı Esnek Tüketim planı Premium planı Ayrılmış plan
Gelişmiş araçlar (Kudu) Windows: ✔
Linux: X
X
App Service düzenleyicisi Windows: ✔
Linux: X
X Windows: ✔
Linux: X
Windows: ✔
Linux: X
Backups X X X
Konsol Windows: komut satırı
Linux: X
X Windows: komut satırı
Linux: SSH
Windows: komut satırı
Linux: SSH

Bu makalenin geri kalanında portalda işlev uygulamalarınız için yararlı olan aşağıdaki özelliklere odaklanılır:

App Service ayarlarıyla çalışma hakkında daha fazla bilgi için bkz. Yapılandırma Azure App Service Ayarları.

App Service düzenleyicisi

App Service düzenleyicisi, JSON yapılandırma dosyalarını ve kod dosyalarını değiştirmek için kullanabileceğiniz gelişmiş bir portal içi düzenleyicidir. Bu seçeneğin seçilmesi, temel bir düzenleyici ile ayrı bir tarayıcı sekmesi başlatır. Bu düzenleyici Git deposuyla tümleştirmenize, kodu çalıştırmanıza ve hatalarını ayıklamanıza ve işlev uygulaması ayarlarını değiştirmenize olanak tanır. Bu düzenleyici, yerleşik işlev düzenleyicisine kıyasla işlevleriniz için gelişmiş bir geliştirme ortamı sağlar.

App Service düzenleyicisini gösteren ekran görüntüsü.

İşlevlerinizi yerel bilgisayarınızda geliştirmeyi düşünmenizi öneririz. Yerel olarak geliştirip Azure yayımladığınızda, proje dosyalarınız Azure portalında salt okunur olur. Daha fazla bilgi için bkz. Azure İşlevlerini yerel olarak kodlayın ve test edin.

Konsol

Komut satırından işlev uygulamanızla etkileşime geçmek istediğinizde portal içi konsol ideal bir geliştirici aracıdır. Yaygın komutlar, dizin ve dosya oluşturma ve gezintinin yanı sıra toplu iş dosyalarını ve betiklerini yürütmeyi içerir.

İşlev uygulaması konsolunu gösteren ekran görüntüsü.

Yerel olarak geliştirme yaparken Azure Functions Core Tools ve Azure CLI kullanmanızı öneririz.

Gelişmiş araçlar (Kudu)

App Service için gelişmiş araçlar (Kudu olarak da bilinir), işlev uygulamanızın gelişmiş yönetim özelliklerine erişim sağlar. Kudu'dan sistem bilgilerini, uygulama ayarlarını, ortam değişkenlerini, site uzantılarını, HTTP üst bilgilerini ve sunucu değişkenlerini yönetirsiniz. Kudu'yu, işlev uygulamanızın SCM uç noktasına göz atarak da başlatabilirsiniz; örneğin: https://<myfunctionapp>.scm.azurewebsites.net/.

App Service (Kudo) için gelişmiş araçları gösteren ekran görüntüsü.

Dağıtım Merkezi

İşlev kodunuzu geliştirmek ve korumak için bir kaynak denetimi çözümü kullandığınızda, Dağıtım Merkezi kaynak denetiminden derlemenizi ve dağıtmanızı sağlar. Projeniz oluşturulur ve güncelleştirmeler yaptığınızda Azure dağıtılır. Daha fazla bilgi için bkz. deployment technologies in Azure Functions.

Kökenler arası kaynak paylaşımı

İstemcide kötü amaçlı kod yürütülmesini önlemek için modern tarayıcılar, web uygulamalarından ayrı bir etki alanında çalışan kaynaklara yönelik istekleri engeller. Çıkış noktaları arası kaynak paylaşımı (CORS), işlev uygulamanızdaki uç noktaları çağırmasına izin verilen kaynakları bildiren Access-Control-Allow-Origin başlığının hangi kaynaklara izin verildiğini belirtmesini sağlar.

İşlev uygulamanız için İzin verilen çıkış noktaları listesini yapılandırdığınızda, Access-Control-Allow-Origin üst bilgi işlev uygulamanızdaki HTTP uç noktalarındaki tüm yanıtlara otomatik olarak eklenir.

İşlev uygulamanızın CORS listesini yapılandırmayı gösteren ekran görüntüsü.

Başka bir dizin girişi varsa joker karakter (*) yoksayılır.

Kimlik Doğrulaması

İşlevler bir HTTP tetikleyicisi kullandığında, çağrıların önce kimlik doğrulamasının yapılmasını gerektirebilirsiniz. App Service Microsoft Entra kimlik doğrulamasını ve Facebook, Microsoft ve X gibi sosyal sağlayıcılarla oturum açmayı destekler. Belirli kimlik doğrulama sağlayıcılarını yapılandırma hakkında bilgi için bkz. Azure App Service kimlik doğrulamasına genel bakış.

İşlev uygulaması için kimlik doğrulamasını yapılandırmayı gösteren ekran görüntüsü.