Azure İşlevleri dağıtım teknolojileri

Azure İşlevleri proje kodunuzu Azure dağıtmak için birkaç farklı teknoloji kullanabilirsiniz. Bu makalede, kullanabileceğiniz dağıtım yöntemlerine genel bir bakış ve çeşitli senaryolarda kullanılacak en iyi yönteme yönelik öneriler sağlanır. Ayrıca, temel dağıtım teknolojileriyle ilgili kapsamlı ve önemli ayrıntıların bir listesini sağlar.

Dağıtım yöntemleri

Azure'da işlev uygulamanıza kod yayımlamak için kullandığınız dağıtım teknolojisi, özel gereksinimlerinize ve geliştirme döngüsündeki noktaya bağlıdır. Örneğin, geliştirme ve test sırasında doğrudan Visual Studio Code gibi geliştirme aracınızdan dağıtım yapabilirsiniz. Uygulamanız üretim aşamasındayken, kaynak denetiminden veya doğrulama ve test içerebilen otomatik yayımlama işlem hattı kullanarak sürekli yayımlama olasılığınız daha yüksektir.

Aşağıdaki tabloda, kod projeniz için kullanılabilir dağıtım yöntemleri açıklanmaktadır.

Dağıtım türü Yöntemler En uygunu...
Araç tabanlı Azure CLI
Visual Studio Code publish
Visual Studio yayımlama
Core Tools yayımla
Geliştirme sırasındaki dağıtımlar ve diğer geliştirilmiş dağıtımlar. Yerel geliştirme araçlarını kullanarak kodunuzu isteğe bağlı olarak dağıtma.
Platform tarafından yönetilen Dağıtım Merkezi (CI/CD)
Konteyner dağıtımları
Kaynak denetiminden veya kapsayıcı kayıt defterinden sürekli dağıtım (CI/CD). Barındırma platformu dağıtımları yönetir.
Dış işlem hatları Azure Pipelines
GitHub Eylemleri
Doğrulama, test ve otomatik dağıtımın parçası olarak çalışması gereken diğer eylemleri içeren üretim işlem hatları. İşlem hattı, dağıtımları yönetir.

Senaryonuz için en iyi teknolojiyi kullanın. Desteklenen barındırma planları için, birçok dağıtım yöntemi zip dağıtımı kullanır.

Dağıtım teknolojisi kullanılabilirliği

Dağıtım yöntemi, işlev uygulamanızı çalıştırdığınız barındırma planına ve işletim sistemine de bağlıdır.

İşlevler şu anda işlev uygulamalarınızı barındırmak için beş seçenek sunar:

Her planın farklı davranışları vardır. Her barındırma planı ve işletim sistemi için tüm dağıtım teknolojileri kullanılamaz. Bu grafik desteklenen dağıtım teknolojileri hakkında bilgi sağlar:

Dağıtım teknolojisi Esnek Tüketim Tüketim Elastik Premium Özel Konteyner Uygulamaları
Flex Tüketim paketi dağıtımı Supported Desteklenmiyor Desteklenmiyor Desteklenmiyor Desteklenmiyor
ZIP dağıtımı Desteklenmiyor Supported Supported Supported Desteklenmiyor
Harici paket URL1 Desteklenmiyor Supported Supported Supported Desteklenmiyor
Konteyner görüntüsü (Docker) Desteklenmiyor Yalnızca Linux Yalnızca Linux Yalnızca Linux Supported
Kaynak denetimi Desteklenmiyor Yalnızca Windows Supported Supported Desteklenmiyor
Yerel Git1 Desteklenmiyor Yalnızca Windows Supported Supported Desteklenmiyor
FTPS1 Desteklenmiyor Yalnızca Windows Supported Supported Desteklenmiyor
Portal içi düzenleme2 Desteklenmiyor Supported Supported Supported Desteklenmiyor
  1. Tetikleyicileri manuel olarak senkronize etmeniz gereken dağıtım teknolojileri önerilmez.
  2. Portal içi düzenleme, kod fonksiyon uygulamanıza portalın dışından yüklendiğinde devre dışı bırakılır. Portal içi düzenleme için dil desteği ayrıntıları da dahil olmak üzere daha fazla bilgi için bkz . Dil desteği ayrıntıları.

Bu makalenin başındaki barındırma planınızı seçin; fonksiyon uygulamanıza uygulanan dağıtım teknolojileri ve davranışlarını görebilirsiniz.

Temel kavramlar

Bazı temel kavramlar, dağıtımların Azure İşlevleri nasıl çalıştığını anlamak için kritik öneme sahiptir.

Barındırma planına göre uygulama içeriği depolama

Dağıtılan uygulama içeriğinin konumu, barındırma planı ve dağıtım teknolojisine bağlıdır:

Barındırma planı Uygulama içeriği depolama
Esnek Tüketim Fonksiyon uygulaması için yapılandırdığınız bir blob dağıtım konteyneri.
Tüketim, Elastik Premium ve Dedicated Uygulama dosya sistemi, Azure Dosyalar içerik paylaşımı veya harici paket URL'si, dağıtım teknolojisine bağlı olarak.
Azure Konteyner Uygulamaları Bir konteyner kayıt defterinde saklanan bir konteyner görüntüsü.

Tetikleyici eşitlemesi

Bir dağıtım, bir işlevi veya onun tetikleyici yapılandırmasını eklediğinde, kaldırdığında ya da değiştirdiğinde, Functions altyapısı fonksiyon uygulaması için tetikleyici meta verilerini güncellemelidir. Bu senkronizasyon birçok dağıtım teknolojisi için otomatik olarak gerçekleşir. Ancak bazı durumlarda tetikleyicilerinizi el ile eşitlemeniz gerekir.

Bu dağıtım seçeneklerini kullanırken tetikleyicileri her zaman el ile eşitlemeniz gerekir:

Tetikleyicileri şu yollardan biriyle el ile eşitleyebilirsiniz:

  • Azure portalında işlev uygulamanızı yeniden başlatın. İşlevler sunucusu, uygulama başlatıldıktan sonra bir arka plan olay tetikleyicisi eşitlemesi gerçekleştirir.

  • Komutu kullanarak API'yi çağıran bir HTTP POST isteği göndermek için şu örnekte olduğu gibi yapabilirsiniz: az restsyncfunctiontriggers

    az rest --method post --url https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<APP_NAME>/syncfunctiontriggers?api-version=2016-08-01
    

Eşitleme tetikleyicileri işlemi için şu noktaları göz önünde bulundurun:

  • Aynı dış paket URL'sini kullanarak dağıtım paketinin güncelleştirilmiş bir sürümünü dağıttığınızda işlev uygulamanızı el ile yeniden başlatmanız gerekir.
  • Tüketim veya Elastik Premium planında çalışan uygulamalar için şu senaryolarda tetikleyicileri el ile eşitlemeniz gerekir:
    • Dağıtımlar ARM şablonlarını veya Bicep ya da Terraform dosyalarını kullanarak kaynak yöneticisi tabanlı dağıtıma sahip bir dış paket URL'si kullandığında.
    • Aynı dış paket URL'sini kullanarak dağıtım paketini yerinde güncelleştirdiğinizde.
  • Mevcut bir işlev uygulamasına ağ kısıtlamaları eklediğinizde, uygulama ayarında AzureWebJobsStorage ayarlanan varsayılan konak depolama hesabına bağlantıyı garanti etmeniz gerekir. Daha fazla bilgi için bkz. Azure İşlevleri ile güvenli depolama hesabı kullanma.

Uzaktan derleme

Dağıtım sırasında kod projenizin uzak derlemesini gerçekleştirmek için Azure İşlevleri isteyebilirsiniz. Bu senaryolarda, yerel olarak oluşturmak yerine uzaktan bir oluşturma isteyin.

  • Bir uygulamayı, Windows bir bilgisayarda geliştirdiğiniz Linux tabanlı işlev uygulamasına dağıtıyorsunuz. Bu durum genellikle Python uygulama geliştirme için söz konusudur. Dağıtım paketini yerel olarak Windows'ta oluşturduğunuzda yanlış kitaplıklar edinebilirsiniz.
  • Projenizin özel paket dizinine bağımlılıkları var.
  • Dağıtım paketinizin boyutunu küçültmek istiyorsunuz.

Uzaktan derleme isteğinde bulunma şekliniz, uygulamanızın Windows veya Linux üzerinde Azure çalışıp çalışmadığına bağlıdır.

Windows'ta çalışan tüm işlev uygulamaları için eşlik eden bir dağıtım sitesi vardır. Bu site, Azure İşlevleri için dağıtım ve derleme mantığının büyük bir kısmını işler.

Bir uygulamayı Windows dağıttığınızda, dağıtım işlemi dotnet restore (C#) veya npm install (JavaScript) gibi dile özgü komutları çalıştırır.

Dağıtım sırasında uzak derlemeler kullanılırken aşağıdaki noktalar geçerlidir:

  • Uzak derlemeler, Tüketim planında Linux üzerinde çalışan işlev uygulamaları için desteklenir. Ancak, bu uygulamalar için dağıtım seçenekleri sınırlıdır çünkü eşlik eden bir dağıtım sitesi yoktur.
  • Elastic Premium planında veya Dedicated (App Service) planında Linux üzerinde çalışan fonksiyon uygulamalarının eşlik eden bir dağıtım sitesi vardır, ancak bu Windows'a kıyasla sınırlıdır.
  • Uzaktan derleme istediğinizde WEBSITE_RUN_FROM_PACKAGE ayarını yapmayın. Linux Tüketimi, Elastic Premium ve Dedicated plan uygulamaları için, Linux sekmesinde tanımlanan dağıtım ayarlarını kullanarak uzaktan derleme etkinleştirilebilir. Dağıtım süreci, derleme çıktısını paketleyebilir ve uygulamayı o paketten çalıştıracak şekilde yapılandırabilir.
  • Özellik kullanıma sunulmadan önce uygulamanız oluşturulduğunda (1 Ağustos 2019) uzaktan derlemeyle ilgili sorunlarla karşılaşabilirsiniz. Eski uygulamalar için yeni bir işlev uygulaması oluşturun veya işlev uygulamanızı güncelleştirmek için komutunu çalıştırın az functionapp update --resource-group <RESOURCE_GROUP_NAME> --name <APP_NAME> . Bu komutun başarılı olması için iki deneme gerekebilir.

Uzaktan derleme

Flex Consumption için, dağıtımı başlatırken bir uzaktan derleme parametresi belirterek uzaktan derleme talep edersiniz. Uzaktan derlemeyi uygulama ayarlarını kullanarak yapılandırmazsınız. Core Tools ve Visual Studio Code için, bir Python uygulaması dağıttığınızda her zaman uzaktan derleme istenir. Daha fazla bilgi için bkz. Dağıtım.

Uygulama içeriği depolama

Flex Consumption, mevcut paketi yapılandırılmış dağıtım depolama konteynerinde saklar. Varsayılan olarak, bu konteyner aynı hesapta AzureWebJobsStorage, ancak farklı bir dağıtım depolama hesabı yapılandırabilirsiniz.

Önemli

Depolama hesabı, bazen uygulama kodunun kendisi de dahil olmak üzere önemli uygulama verilerini depolamak için kullanılır. Diğer uygulama ve kullanıcılardan depolama hesabına erişimi sınırlamanız gerekir.

Uygulama içeriği depolama

Dağıtım teknolojisine bağlı olarak, uygulama içeriğiniz uygulama dosya sisteminde, Azure Dosyalar içerik paylaşımında veya harici bir paket URL'sinde depolanabilir. Her dağıtım teknolojisi için uygulama içeriğinin nerede saklandığını bir sonraki bölümde inceleyin.

Önemli

Depolama hesabı, bazen uygulama kodunun kendisi de dahil olmak üzere önemli uygulama verilerini depolamak için kullanılır. Diğer uygulama ve kullanıcılardan depolama hesabına erişimi sınırlamanız gerekir.

Güvenli sanal ağlar

Fonksiyon uygulamanızda özel uç noktalar etkinleştirildiğinde ve halka açık ağ erişimi devre dışı bırakıldığında, dağıtım uç noktası halka açık olarak erişilmez. Core Tools, Visual Studio Code, Azure CLI, GitHub Actions ve Azure Pipelines dahil olmak üzere push deployment araçları paketleri bu uç noktaya gönderir. Dağıtımı gerçekleştiren makine, koşucu veya ajan, özel dağıtım uç noktası için hem ağ bağlantısına hem de DNS çözümlülüğüne sahip olmalıdır.

Bu bağlantıyı şu şekilde sağlayabilirsiniz:

Dağıtım kaynağı aynı sanal ağda veya özel uç noktaya yönlendirme ve DNS bağlantısı olan bir ağda, örneğin eşli sanal ağda olabilir.

Resource Manager tabanlı paket dağıtımları, paketi başlatan istemciden dağıtım uç noktasına itmez. Bunun yerine, dağıtım hizmeti paketi dağıtım kaynağında sağlanan URL'den alır. Paket URL'si ve dağıtım depolaması, dağıtım servisi tarafından erişilebilir olmalıdır. Flex Consumption için bkz. Bicep veya bir Azure Resource Manager şablonu kullanarak dağıtım yapma.

İşlev uygulamanızı sanal ağda yapılandırma hakkında daha fazla bilgi için bkz. Sanal ağ ile Azure İşlevleri yapılandırma.

Uygulama içerik depolama ve ağ

Azure İşlevleri on Azure Container Apps, uygulamanızı container image olarak deploy eder. Görüntü bir konteyner kayıt defterinde saklanır ve ağ oluşturma Konteyner Uygulamaları ortamı tarafından yönetilir. Daha fazla bilgi için bkz. Azure İşlevleri on Azure Container Apps overview ve Networking in Azure Container Apps.

Barındırma planına göre dağıtım davranışı

Aşağıdaki dağıtım yöntemleri seçtiğiniz barındırma planı için geçerlidir. Tüm planlar boyunca teknolojileri karşılaştırmak için dağıtım teknolojisi kullanılabilirlik tablosuna bakabilirsiniz.

Flex Tüketim paketi dağıtımı

Paket dağıtımı, Flex Tüketim planındaki uygulamalar için desteklenen tek kod dağıtım teknolojisidir. Dağıtım süreci, çalışmaya hazır bir .zip paketini uygulamanın dağıtım konteynerinde saklar ve fonksiyon uygulaması doğrudan o paketten çalışır.

Visual Studio Code yayımlama özelliğini kullanarak veya Azure İşlevleri Core Tools veya Azure CLI kullanarak komut satırından dağıtın. Azure DevOps görevi ve GitHub Action, bir Flex Consumption uygulaması tespit ettiklerinde doğru paket dağıtım davranışını seçer.

Bir Flex Consumption uygulaması oluşturduğunuzda, bir dağıtım depolama (blob) kapsayıcısı ve bunun için bir kimlik doğrulama yöntemi belirtmeniz gerekir. Varsayılan olarak AzureWebJobsStorage bağlantısıyla aynı depolama hesabı kullanılır ve kimlik doğrulama yöntemi olarak bir bağlantı dizesi kullanılır. Bu nedenle, dağıtım ayarlarınız uygulama oluşturma sırasında uygulama ayarlarına gerek kalmadan yapılandırılır.

Ne zaman kullanılacak: Tüm Flex Consumption kod dağıtımları için paket dağıtımını kullanın. Başka hiçbir kod dağıtım teknolojisi desteklenmemektedir.

Uygulama içeriğinin depolandığı yer: Flex Consumption işlev uygulaması oluşturduğunuzda bir dağıtım depolama kapsayıcısı belirtirsiniz. Dağıtım hizmeti, işlenmiş, çalıştırmaya hazır paketi bu konteynerde saklar. Push dağıtım araçları önce kaynak paketi uygulamanın dağıtım uç noktasına gönderir; doğrudan dağıtım konteynerine yüklemezler. Depolama yerini değiştirmek için Azure portalında Dağıtım ayarları sayfasını açın veya Azure CLI'yı kullanın.

Altta yatan platform API'si bazen olarak tanımlanır OneDeploy. Kod olarak altyapı tanımları, bu uygulama biçimini doğrudan /onedeploy kaynak adı üzerinden görünür kılar. Desteklenen geliştirme araçları veya CI/CD sağlayıcıları kullanarak bu API'yi seçmenize veya yapılandırmanıza gerek yoktur.

Tavsiye

Flex Consumption Deployment tanılama aracı Azure portalında kullanılabilir. Flex Consumption uygulamanızı açın, Sorunları Tanıla ve Çöz'ü seçin ve Flex Consumption Deployment'yi arayın. Bu araç dağıtım geçmişi, paket durumu ve sorun giderme önerileri dahil olmak üzere dağıtımlarınızla ilgili ayrıntılı bilgileri görüntüler.

ZIP dağıtımı

ZIP dağıtımı, Consumption, Elastic Premium ve Dedicated (App Service) planlarındaki fonksiyon uygulamaları için varsayılan ve önerilen dağıtım teknolojisidir. Sonuç, işlev uygulamanızın üzerinde çalıştığı çalışmaya hazır bir .zip paketidir. Platform, uygulama içeriğinizi uzaktan oluşturmaktan ve depolamaktan sorumlu olduğundan , dış paket URL'sinden farklıdır.

Nasıl kullanılır: Tercih ettiğiniz istemci aracı kullanarak dağıtın: Visual Studio Code, Visual Studio veya komut satırından Azure İşlevleri Core Tools veya Azure CLI'yı kullanarak. Azure DevOps görevi ve GitHub Action da benzer şekilde ZIP dağıtımını kullanır.

ZIP dağıtımını kullandığınızda, uygulamanızı paketten çalıştıracak şekilde ayarlayabilirsiniz. Paketten çalıştırmak için uygulama ayarı değerini olarak WEBSITE_RUN_FROM_PACKAGEayarlayın1. ZIP dağıtımını öneriyoruz. Uygulamalarınız için daha hızlı yükleme süreleri sağlar ve Visual Studio Code, Visual Studio ve Azure CLI için varsayılan sistemdir.

Ne zaman kullanılmalıdır: ZIP dağıtımı, Windows Tüketimi, Windows ve Linux Elastic Premium ile Windows ve Linux App Service (Dedicated) planlarındaki fonksiyon uygulamaları için varsayılan ve önerilen dağıtım teknolojisidir.

Uygulama içeriğinin nerede saklandığı: ZIP dağıtımından gelen uygulama içeriği varsayılan olarak dosya sisteminde saklanır; Azure, fonksiyon uygulamasını oluştururken belirttiğiniz depolama hesabından Azure Dosyalar ile bunu destekleyebilir. Linux Tüketimi'nde, uygulama içeriği bunun yerine uygulama ayarı tarafından AzureWebJobsStorage belirtilen depolama hesabındaki bir blobda kalıcı hale gelir ve uygulama ayarı WEBSITE_RUN_FROM_PACKAGE blob URL'sinin değerini alır.

Dış paket URL'si

Dağıtımların nasıl gerçekleştiğini manuel olarak kontrol etmek istediğinizde harici bir paket URL'si kullanın. Derlenmiş uygulama içeriğinizi içeren çalıştırılmaya hazır bir .zip paketini Blob depolama alanına yüklemek ve bu harici URL’yi işlev uygulamanızda bir uygulama ayarı olarak belirtmek sizin sorumluluğunuzdadır. Uygulamanız her yeniden başlatıldığında, paketi alır, bağlar ve paketten çalışır.

Nasıl kullanılır: Uygulama ayarlarınıza ekleyin WEBSITE_RUN_FROM_PACKAGE . Bu ayarın değeri, uygulamanızın çalışmasını istediğiniz paketin konumunu gösteren bir blob URL'si olmalıdır. Portalda veya Azure CLI kullanarak ayarları ekleyebilirsiniz.

Azure Blob Depolama kullanıyorsanız, fonksiyon uygulamanız konteynere yönetilen kimlik tabanlı bağlantı kullanarak veya paylaşılan erişim imzası (SAS) ile erişebilir. Seçtiğiniz seçenek, değeri WEBSITE_RUN_FROM_PACKAGEolarak kullandığınız URL türünü etkiler. Yönetilen kimlik, genel güvenlik için ve SAS belirteçlerinin süreleri dolduğundan ve el ile yönetilmesi gerektiğinden önerilir.

tr-TR: Bir işlev uygulamasının başvurduğu paket dosyasını her dağıttığınızda, ilk dağıtım dahil olmak üzere tetikleyicileri el ile eşitlemeniz gerekir. URL'nin kendisini değil paket dosyasının içeriğini değiştirdiğinizde, tetikleyicileri eşitlemek için işlev uygulamanızı da yeniden başlatmanız gerekir. Yapılandırma adımları için Harici bir paket URL’sinden çalıştırma bölümüne bakın.

Ne zaman kullanılır: Uzak bir derlemenin gerçekleşmesini istemediğinizde, Linux Tüketim planında çalışan uygulamalar için desteklenen tek dağıtım yöntemi dış paket URL'sidir. Bu yöntem, uygulamanızı Azure Dosyalar olmadan oluştururken de önerilen dağıtım teknolojisidir. Linux üzerinde çalışan ölçeklenebilir uygulamalar için bunun yerine Flex Consumption planı barındırmayı göz önünde bulundurmanız gerekir.

Uygulama içeriğinin depolandığı yer: Uygulama içeriğinizi blob depolamaya yüklemek sizin sorumluluğunuzdadır. Herhangi bir blob depolama hesabını kullanabilirsiniz, ancak Azure Blob Depolama önerilir.

Docker kapsayıcısı

Linux kapsayıcısında çalışan bir işlev uygulaması dağıtabilirsiniz.

Sürün nasıl kullanılır: Linux kapsayıcısında işlevlerinizi oluşturma ardından kapsayıcıyı Azure İşlevleri veya başka bir kapsayıcı konağındaki Premium veya Ayrılmış plana dağıtın. Azure İşlevleri Core Tools kullanarak kapsayıcılı işlev uygulaması oluşturmak üzere projeniz için özelleştirilmiş bir Dockerfile oluşturun. Kapsayıcıyı aşağıdaki dağıtımlarda kullanabilirsiniz:

Ne zaman kullanılır: İşlev uygulamanızın çalıştığı ve kapsayıcının barındırıldığı Linux ortamı üzerinde daha fazla denetime ihtiyacınız olduğunda Docker kapsayıcısı seçeneğini kullanın. Bu dağıtım mekanizması yalnızca Linux üzerinde çalışan işlevler için kullanılabilir.

Uygulama içeriğinin depolandığı yer: Uygulama içeriğini görüntünün bir parçası olarak belirtilen kapsayıcı kayıt defterinde depolarsınız.

Kaynak denetimi

İşlev uygulamanızla kaynak kodu deposu arasında sürekli tümleştirmeyi etkinleştirebilirsiniz. Kaynak denetimini etkinleştirdiğinizde, bağlı kaynak deposundaki kod güncelleştirmeleri depodan en son kodun dağıtımını tetikler. Daha fazla bilgi için bkz. Azure İşlevleri için Sürekli Dağıtım.

Nasıl kullanılır: Kaynak denetiminden yayımlamayı ayarlamanın en kolay yolu, portalın İşlevler alanındaki Dağıtım Merkezi'ndendir. Daha fazla bilgi için bkz. Azure İşlevleri için sürekli dağıtım.

Ne zaman kullanılır: Kaynak denetimini kullanmak, işlev uygulamaları üzerinde işbirliği yapan ekipler için en iyi yöntemdir. Kaynak denetimi, daha karmaşık dağıtım işlem hatlarını etkinleştiren iyi bir dağıtım seçeneğidir. Genellikle, depodaki güncelleştirmeleri doğruladıktan sonra üretime geçebileceğiniz bir hazırlama yuvasında kaynak denetimini etkinleştirirsiniz. Daha fazla bilgi için bkz. Azure İşlevleri dağıtım yuvaları.

Uygulama içeriğinin depolandığı yer: Kaynak denetim sistemi uygulama içeriğini depolar. Uygulama dosya sistemi, işlev uygulaması oluşturulduğunda belirtilen depolama hesabından Azure Dosyalar geri dönebilen yerel olarak kopyalanmış ve oluşturulmuş bir uygulama içerik formu depolar.

Yerel Git

Git kullanarak yerel makinenizden Azure İşlevleri kodu göndermek için yerel Git'i kullanın.

Nasıl kullanılır:Yerel Git'i Azure App Service'e dağıtma konusundaki yönergeleri izleyin.

Ne zaman kullanılır: Hata olasılığını azaltmak için tetikleyicileri el ile eşitlemenin ek adımını gerektiren dağıtım yöntemlerini kullanmaktan kaçının. Mümkün olduğunda zip dağıtımını kullanın.

Uygulama içeriğinin saklandığı yerler: Dosya sistemi, uygulama içeriğini depolar. Dosya sistemi, fonksiyon uygulamasını oluştururken belirttiğiniz depolama hesabından Azure Dosyalar tarafından desteklenmiş olabilir.

FTPS

FTPS kullanarak dosyaları doğrudan Azure İşlevleri'a aktarabilirsiniz, ancak bu dağıtım yöntemini kullanmayın. FTPS kullanmayı planlamadığınızda devre dışı bırakın. Azure portalında nasıl yapılacağını öğrenmek için bkz. Enforce FTPS.

Nasıl kullanılır: FTPS kullanarak işlev uygulamanıza dağıtmak için kullanabileceğiniz URL'yi ve kimlik bilgilerini almak için FTPS dağıtım ayarlarındaki yönergeleri izleyin.

Ne zaman kullanılır: Hata olasılığını azaltmak için tetikleyicileri el ile eşitlemenin ek adımını gerektiren dağıtım yöntemlerini kullanmaktan kaçının. Mümkün olduğunda zip dağıtımını kullanın.

Uygulama içeriğinin depolandığı yer: Uygulama içeriği dosya sisteminde depolanır. Uygulamanızın dosya sistemi varsayılan konak depolama hesabındaki Azure Dosyalar tarafından desteklendiğinde FTP/FTPS dağıtımları başarısız olur. FTP/FTPS, FTP sınırlamaları nedeniyle bağlı depolama olarak Azure Dosyalar ile başarısız olur.

Portal içi düzenleme

Portal tabanlı düzenleyicide, işlev uygulamanızdaki dosyaları doğrudan düzenleyebilirsiniz (değişikliklerinizi her kaydettiğinizde temelde dağıtılır).

Bunu nasıl kullanırsınız:Azure portalında işlevlerinizi düzenlemek için portalda işlevlerinizi oluşturmanız gerekir. Tek bir doğru kaynağını korumak için, başka bir dağıtım yöntemini kullanmak işlevinizi salt okunur hale getirir ve portal düzenlemesinin devam etmesini engeller. Azure portalında dosyalarınızı düzenleyebildiğiniz bir duruma dönmek için düzenleme modunu el ile Read/Write döndürebilir ve dağıtımla ilgili uygulama ayarlarını (WEBSITE_RUN_FROM_PACKAGE gibi) kaldırabilirsiniz.

Bu özelliği ne zaman kullanabilirsiniz: Portal, Azure İşlevleri kullanmaya başlamak için iyi bir yoldur. Azure portalında gelİştirme sınırlamaları nedeniyle daha gelişmiş geliştirme çalışmaları için aşağıdaki istemci araçlarından birini kullanmalısınız:

Uygulama içeriği nerede depolanır: Uygulama içeriği, işlev uygulamasını oluştururken belirttiğiniz depolama hesabından Azure Dosyalar tarafından yedeklenebilen dosya sisteminde depolanır.

Konteyner görüntüsü dağıtımı

Azure İşlevleri on Azure Container Apps, kodunuzu bir konteyner görüntüsü olarak dağıtıyor. Yönetilen Container Apps deneyimini kullanarak bir kod projesinden dağıtım yapabilir veya görüntü içeriği üzerinde kontrol sahibi olduğunuzda özel bir görüntü dağıtabilirsiniz. Daha fazla bilgi için, Kod kullanarak Azure Container Apps üzerinde bir işlev uygulaması oluşturma ve Azure Container Apps üzerinde Azure İşlevleri genel bakış başlıklı makalelere bakın.

Dağıtım davranışları

Fonksiyon uygulama kodunuza güncellemeler dağıttığınızda, dağıtım davranışı barındırma planınıza bağlıdır.

Şu anda çalıştırılan fonksiyonlar, yeni kod dağıttığınızda duruyor. Dağıtım tamamlandıktan sonra, yeni kod yüklenir ve talepleri işlemeye başlar. Bu zorla sonlandırma davranışı, yeniden yaratma stratejisi olarak bilinir. Neredeyse sıfır kesinti süresi olan dağıtımlar için dağıtım slotları kullanın.

Azure İşlevleri'ın performansını ve güvenilirliğini artırarak durumsuz ve savunma işlevleri yazmayı öğrenmek için inceleyin.

Varsayılan davranış, dağıtım sırasında mevcut işlevleri durduran yeniden oluşturma stratejisini kullanır. Flex Consumption, iki site güncelleme stratejisini destekler. Sıfır kapalı kalma süresi dağıtımları için sıralı güncelleştirmeleri yapılandırabilirsiniz .

Azure Container Apps, uygulama güncellemelerini revizyonlar kullanarak yönetir. Yeni revizyonların trafiği nasıl aldığını kontrol etme hakkında daha fazla bilgi için Update and deploy changes in Azure Container Apps'a bakınız.

Dağıtım yuvaları

Flex Consumption, dağıtım slotlarını desteklemiyor. Kesintisiz dağıtımlar için, aşamalı güncellemeleri yapılandırın.

Dağıtım yuvaları

İşlev uygulamanızı Azure dağıttığınızda doğrudan üretim yerine ayrı bir dağıtım yuvasına dağıtabilirsiniz. Dağıtım yuvasına dağıtmak ve doğrulamadan sonra üretime geçmek, sürekli dağıtımı yapılandırmanın önerilen yoludur.

Yuvaya dağıtma yönteminiz, kullandığınız dağıtım aracına bağlıdır. Örneğin, Azure İşlevleri Core Tools kullandığınızda, --slot komutu için belirli bir slotun adını belirtmek üzere func azure functionapp publish seçeneğini ekleyin.

Dağıtım yuvaları hakkında daha fazla bilgi için Azure İşlevleri Dağıtım Yuvaları belgelerine bakın.

Sonraki adımlar

İşlev uygulamalarınızı dağıtma hakkında daha fazla bilgi edinmek için şu makaleleri okuyun: