Hızlı Başlangıç: Visual Studio kullanarak Azure'da ilk C# işlevinizi oluşturma
Azure İşlevleri yerel C# işlev projeleri oluşturmak için Visual Studio'yu kullanmanıza ve ardından azure'da ölçeklenebilir bir sunucusuz ortamda çalışmak üzere bu projeyi kolayca yayımlamanıza olanak tanır. C# uygulamalarınızı Visual Studio Code kullanarak yerel olarak geliştirmeyi tercih ediyorsanız, bunun yerine bu makalenin Visual Studio Code tabanlı sürümünü göz önünde bulundurmanız gerekir.
Varsayılan olarak, bu makalede İşlevler konağıyla aynı işlemde .NET 6 üzerinde çalışan C# işlevlerinin nasıl oluşturulacağı gösterilir. Bu işlem içi C# işlevleri yalnızca .NET 6 gibi Uzun Süreli Destek (LTS) .NET sürümlerinde desteklenir. Projenizi oluştururken bunun yerine yalıtılmış bir çalışan işleminde .NET 6 üzerinde çalışan bir işlev oluşturmayı seçebilirsiniz. Yalıtılmış çalışan işlemi , .NET'in hem LTS hem de Standart Terim Desteği (STS) sürümlerini destekler. Daha fazla bilgi için bkz. .NET İşlevleri yalıtılmış çalışan işlemi kılavuzunda desteklenen sürümler .
Bu makalede şunları öğreneceksiniz:
- C# sınıf kitaplığı projesi oluşturmak için Visual Studio'yu kullanın.
- HTTP isteklerine yanıt veren bir işlev oluşturun.
- İşlev davranışını doğrulamak için kodunuzu yerel olarak çalıştırın.
- Kod projenizi Azure İşlevleri dağıtın.
Bu hızlı başlangıcı tamamlamak, Azure hesabınızda birkaç ABD doları veya daha az bir maliyete neden olur.
Önkoşullar
Visual Studio 2022. Yükleme sırasında Azure geliştirme iş yükünü seçtiğinizden emin olun.
İşlev uygulaması projesi oluşturma
Visual Studio'daki Azure İşlevleri proje şablonu, Azure'daki bir işlev uygulamasında yayımlayabileceğiniz bir C# sınıf kitaplığı projesi oluşturur. İşlev uygulamasını kullanarak işlevleri daha kolay yönetim, dağıtım, ölçeklendirme ve kaynakların paylaşılması için mantıksal bir birim olarak gruplandırabilirsiniz.
Visual Studio menüsünden Dosya >Yeni Proje'yi> seçin.
Yeni proje oluştur'da arama kutusuna işlevler yazın, Azure İşlevleri şablonunu seçin ve ardından İleri'yi seçin.
Yeni projenizi yapılandırın bölümünde projeniz için bir Proje adı girin ve İleri'yi seçin. İşlev uygulamasının adı, bir C# ad alanı olarak geçerli olmalıdır; bu nedenle alt çizgi, kısa çizgi veya alfasayısal olmayan herhangi bir karakter kullanmayın.
Ek bilgiler bölümünde İşlevler çalışanı için aşağıdaki seçeneklerden birini seçin:
.NET çalışma zamanı İşlem modeli Description .NET 6.0 (Uzun Vadeli Destek) İşlem içi İşlemde C# işlevleri yalnızca Uzun Süreli Destek (LTS) .NET sürümlerinde desteklenir. İşlev kodu İşlevler konağıyla aynı işlemde çalışır. .NET 6.0 Yalıtılmış (Uzun Süreli Destek) Yalıtılmış çalışan işlemi İşlevler .NET 6 üzerinde çalışır, ancak İşlevler konağından ayrı bir işlemde çalışır. .NET 7.0 Yalıtılmış Yalıtılmış çalışan işlemi .NET 7 bir .NET LTS sürümü olmadığından işlevlerinizin .NET 7 üzerinde yalıtılmış bir işlemde çalıştırılması gerekir. .NET Framework Yalıtılmış v4 Yalıtılmış çalışan işlemi İşlevlerinizin yalnızca .NET Framework desteklenen kitaplıkları kullanması gerektiğinde bu seçeneği belirleyin. .NET Core 3.1 (Uzun Süreli Destek) İşlem içi .NET Core 3.1 artık .NET'in desteklenen bir sürümü değildir ve İşlevler sürüm 4.x tarafından desteklenmez. Bunun yerine .NET 6.0 kullanın. .NET Framework v1 İşlem içi İşlevlerinizin yalnızca .NET Framework eski sürümlerinde desteklenen kitaplıkları kullanması gerektiğinde bu seçeneği belirleyin. İşlevler çalışma zamanının 1.x sürümünü gerektirir.
İki işlem modeli farklı API'ler kullanır ve her işlem modeli işlev proje kodunu oluştururken farklı bir şablon kullanır. .NET 6.0 ve üzeri .NET çalışma zamanı sürümlerine yönelik seçenekleri görmüyorsanız, Azure İşlevleri araçları yüklemenizi güncelleştirmeniz gerekebilir.
Kalan Ek bilgi ayarları için aşağıdaki tabloda yer alan değerleri kullanın:
Ayar Değer Açıklama İşlev HTTP tetikleyicisi Bu değer bir HTTP isteği tarafından tetiklenen bir işlev oluşturur. Çalışma zamanı depolama hesabı için Azurite kullanma (AzureWebJobsStorage) Etkinleştir Azure'daki bir işlev uygulaması için depolama hesabı gerektiğinden, projenizi Azure'da yayımladığınızda bir uygulama atanır veya oluşturulur. HTTP tetikleyicisi Azure Depolama hesabı bağlantı dizesi kullanmaz; diğer tüm tetikleyici türleri için geçerli bir Azure Depolama hesabı bağlantı dizesi gerekir. Bu seçeneği belirlediğinizde Azurite öykünücüsü kullanılır. Yetkilendirme düzeyi Anonim Oluşturulan işlev, anahtar gerektirmeden herhangi bir istemci tarafından tetiklenebilir. Bu yetkilendirme ayarı yeni işlevinizi test etmenizi kolaylaştırır. Anahtarlar ve yetkilendirme hakkında daha fazla bilgi için bkz . Yetkilendirme anahtarları ve HTTP ve web kancası bağlamaları.
Yetkilendirme düzeyiniAnonim olarak ayarladığınızdan emin olun. varsayılan İşlev düzeyini seçerseniz, Azure'da işlev uç noktanıza erişme isteklerinde işlev anahtarını sunmanız gerekir.
İşlev projesini ve HTTP tetikleyici işlevini oluşturmak için Oluştur'u seçin.
Visual Studio, HTTP tetikleyicisi işlev türü için ortak kod içeren bir proje ve sınıf oluşturur. Ortak kod, istek gövdesi veya sorgu dizesinde yer alan bir değeri içeren bir HTTP yanıtı gönderir.
HttpTrigger özniteliği, işlevin bir HTTP isteği tarafından tetiklendiğini belirtir.
İşlevi yeniden adlandırma
FunctionName method özniteliği, varsayılan olarak olarak
Function1oluşturulan işlevin adını ayarlar. Araç, projenizi oluştururken varsayılan işlev adını geçersiz kılmanıza izin vermediğinden işlev sınıfı, dosyası ve meta verileri için daha iyi bir ad oluşturmak bir dakikanızı alır.
Dosya Gezgini'da Function1.cs dosyasına sağ tıklayın ve dosyasını olarak
HttpExample.csyeniden adlandırın.
Kodda Function1 sınıfını olarak
HttpExampleyeniden adlandırın.
adlı yönteminde
HttpTriggermethod özniteliğini
HttpExampleolarak yeniden adlandırın
FunctionName.
Run
İşlev tanımınız artık aşağıdaki kod gibi görünmelidir:
[FunctionName("HttpExample")] public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
İşlevi yeniden adlandırdığınıza göre, yerel bilgisayarınızda test edebilirsiniz.
İşlevi yerel olarak çalıştırma
Visual Studio, tam Azure İşlevleri çalışma zamanını kullanarak işlevlerinizi yerel olarak test edebilmeniz için Azure İşlevleri Core Tools ile tümleştirilir.
İşlevinizi çalıştırmak için Visual Studio'da F5 tuşuna basın. Araçların HTTP isteklerini işleyebilmesi için bir güvenlik duvarı özel durumunu etkinleştirmeniz gerekebilir. Bir işlevi yerel olarak çalıştırdığınızda yetkilendirme düzeyleri hiçbir zaman zorlanmaz.
Azure İşlevleri çalışma zamanı çıktısından işlevinizin URL'sini kopyalayın.
HTTP isteğinin URL’sini tarayıcınızın adres çubuğuna yapıştırın. Sorgu dizesini
?name=<YOUR_NAME>bu URL'ye ekleyin ve isteği çalıştırın. Aşağıdaki görüntüde, işlev tarafından döndürülen yerel GET isteğine tarayıcıda verilen yanıt gösterilmektedir:
Hata ayıklamayı durdurmak için Visual Studio'da ShiftF5tuşlarına+ basın.
İşlevin yerel bilgisayarınızda düzgün çalıştığını doğruladıktan sonra, projeyi Azure'da yayımlamanın zamanı gelmiştir.
Projeyi Azure'da yayımlama
Visual Studio yerel projenizi Azure'da yayımlayabilir. Projenizi yayımlayabilmeniz için önce Azure aboneliğinizde bir işlev uygulaması olması gerekir. Azure'da henüz bir işlev uygulamanız yoksa Visual Studio yayımlama, projenizi ilk kez yayımladığınızda sizin için bir işlev uygulaması oluşturur. Bu makalede bir işlev uygulaması ve ilgili Azure kaynakları oluşturacaksınız.
Çözüm Gezgini'nde projeye sağ tıklayın ve Yayımla'yı seçin. Hedef bölümünde Azure'ı ve ardından İleri'yi seçin.
Windows üzerinde çalışan bir işlev uygulaması oluşturan Belirli hedef için Azure İşlev Uygulaması 'nı (Windows) ve ardından İleri'yi seçin.
İşlev ÖrneğindeYeni Azure İşlevi Oluştur... öğesini seçin.
Aşağıdaki tabloda belirtilen değerleri kullanarak yeni bir örnek oluşturun:
Ayar Değer Açıklama Ad Genel olarak benzersiz bir ad Yeni işlev uygulamanızı benzersiz şekilde tanımlayan ad. Bu adı kabul edin veya yeni bir ad girin. Geçerli karakterler şunlardır:
a-z,
0-9ve
-.
Abonelik Aboneliğiniz Kullanılacak Azure aboneliği. Bu aboneliği kabul edin veya açılan listeden yeni bir abonelik seçin. Kaynak grubu Kaynak grubunuzun adı İşlev uygulamanızı oluşturmak istediğiniz kaynak grubu. Açılan listeden mevcut bir kaynak grubunu seçin veya yeni bir kaynak grubu oluşturmak için Yeni'yi seçin. Plan Türü Tüketim Projenizi Tüketim planında çalışan bir işlev uygulamasında yayımladığınızda, yalnızca işlev uygulamanızın yürütmeleri için ödeme alırsınız. Diğer barındırma planları daha yüksek maliyetlere neden olur. Konum App Service'in konumu Size veya işlevlerinizin eriştirileceği diğer hizmetlere yakın bir bölgedekonum seçin. Azure Depolama Genel amaçlı depolama hesabı İşlevler çalışma zamanı için bir Azure depolama hesabı gereklidir. Genel amaçlı bir depolama hesabı yapılandırmak için Yeni'yi seçin. Depolama hesabı gereksinimlerini karşılayan mevcut bir hesabı da seçebilirsiniz.
Azure'da bir işlev uygulaması ve ilgili kaynakları oluşturmak için Oluştur'u seçin. Kaynak oluşturma durumu pencerenin sol alt kısmında gösterilir.
İşlevler örneğindePaketten çalıştır dosyasının işaretli olduğundan emin olun. İşlev uygulamanız, Paketten Çalıştır modu etkin olarak Zip Dağıtımı kullanılarak dağıtılır. Zip Deploy, işlev projeniz için önerilen dağıtım yöntemidir ve daha iyi performans sağlar.
Proje dosyalarınızı içeren paketi Azure'daki yeni işlev uygulamanıza dağıtmak için Son'u seçin ve Yayımla sayfasında Yayımla'yı seçin.
Dağıtım tamamlandıktan sonra, Azure'daki işlev uygulamasının kök URL'si Yayımla sekmesinde gösterilir.
Yayımla sekmesinin Barındırma bölümünde Azure portal'de aç'ı seçin. Bu işlem, Azure portal yeni işlev uygulaması Azure kaynağını açar.
Azure'da işlevinizi doğrulama
Bulut Gezgini'nde yeni işlev uygulamanız seçilmelidir. Aksi takdirde, abonelik >Uygulama Hizmetlerinizi genişletin ve yeni işlev uygulamanızı seçin.
İşlev uygulamasına sağ tıklayın ve Tarayıcıda Aç'ı seçin. Bu işlem, işlev uygulamanızın kökünü varsayılan web tarayıcınızda açar ve işlev uygulamanızın çalıştığını gösteren sayfayı görüntüler.
Tarayıcıdaki adres çubuğunda dizeyi
/api/HttpExample?name=Functionstemel URL'ye ekleyin ve isteği çalıştırın.
HTTP tetikleyici işlevinizi çağıran URL aşağıdaki biçimdedir:
http://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions
Bu URL'ye gittiğinizde tarayıcıda işlev tarafından döndürülen uzak GET isteğine aşağıdaki örneğe benzer bir yanıt görürsünüz:
Kaynakları temizleme
Azure’da Kaynaklar; işlev uygulamalarını, işlevleri, depolama hesaplarını ve benzeri öğeleri ifade eder. Bunlar kaynak grupları halinde gruplandırılır ve grubu silerek gruptaki her şeyi silebilirsiniz.
Bu hızlı başlangıcı tamamlamak için Azure kaynakları oluşturdunuz. Hesap durumunuza ve hizmet fiyatlandırmanıza bağlı olarak size bu kaynakların ücretleri yansıtılabilir. Bu koleksiyondaki diğer hızlı başlangıçlar, bu hızlı başlangıcı temel alır. Sonraki hızlı başlangıçlar, öğreticiler veya bu hızlı başlangıçta oluşturduğunuz hizmetlerden herhangi biriyle çalışmayı planlıyorsanız kaynakları temizlemeyin.
Daha fazla maliyet oluşmasını önlemek için işlev uygulamasını ve ilgili kaynaklarını silmek için aşağıdaki adımları kullanın.
Visual Studio Yayımla iletişim kutusunda, Barındırma bölümünde Azure portal aç'ı seçin.
İşlev uygulaması sayfasında Genel Bakış sekmesini ve ardından Kaynak grubu altındaki bağlantıyı seçin.
Kaynak grubu sayfasında, eklenen kaynakların listesini gözden geçirin ve bunların silmek istediğiniz kaynaklar olduğunu doğrulayın.
Kaynak grubunu sil’i seçin ve yönergeleri izleyin.
Silme işlemi birkaç dakika sürebilir. İşlem tamamlandığında, birkaç saniye boyunca bir bildirim görüntülenir. Bildirimi görüntülemek için sayfanın üst kısmındaki zil simgesini de seçebilirsiniz.
Sonraki adımlar
Bu hızlı başlangıçta Visual Studio'yu kullanarak basit bir HTTP tetikleyici işleviyle Azure'da bir C# işlev uygulaması oluşturup yayımladınız.
Sonraki makale, seçtiğiniz işlem modeline bağlıdır.
İşlevler konağıyla işlem içinde çalışan C# işlevleriyle çalışma hakkında daha fazla bilgi edinmek için bkz. Azure İşlevleri kullanarak C# sınıf kitaplığı işlevleri geliştirme.
İşlevinize Azure Depolama kuyruğu bağlaması eklemeyi öğrenmek için sonraki makaleye ilerleyin: