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.
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:
- Esnek Tüketim planı
- Elastik Premium planı
- Ayrılmış (App Service) planı
- Azure Container Apps
- Tüketim planı (eski)
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 |
- Tetikleyicileri manuel olarak senkronize etmeniz gereken dağıtım teknolojileri önerilmez.
- 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 restsyncfunctiontriggersaz 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
AzureWebJobsStorageayarlanan 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_PACKAGEayarı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:
- Azure Pipelines için, bağlı bir ağda kendi kendine barındırılan bir ajan kullanın veya ağ ile yönetilen bir DevOps agent havuzu yapılandırın.
- GitHub Actions için, bağlı bir ağda self-hosted runner kullanın veya Azure özel ağı ile GitHub-hosted runner yapılandırın.
- Geliştirme makinenizi noktadan siteye VPN, siteden siteye VPN veya ExpressRoute kullanarak bağlayın.
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
AzureWebJobsStoragebağ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
AzureWebJobsStoragebelirtilen depolama hesabındaki bir blobda kalıcı hale gelir ve uygulama ayarıWEBSITE_RUN_FROM_PACKAGEblob 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. Portaldaveya 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:
- Azure portalında oluşturduğunuz Azure İşlevleri kaynaklarını dağıtın. Daha fazla bilgi için bkz. kapsayıcıları kullanarak Azure portal oluşturma.
- Azure İşlevleri kaynaklarına, komut satırından oluşturduğunuz kaynakları dağıtın. Premium veya Ayrılmış (Uygulama Hizmeti) planı gerektirir. Nasıl yapılacağını öğrenmek için bkz. İlk kapsayıcılı Azure İşlevleri uygulamanızı oluşturma.
- Kubernetes kümesine dağıtın. Azure İşlevleri Core Tools kullanarak bir kümeye dağıtabilirsiniz.
func kubernetes deploykomutunu kullanın.
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/Writedöndürebilir ve dağıtımla ilgili uygulama ayarlarını (WEBSITE_RUN_FROM_PACKAGEgibi) 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: