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.
Sunucusuz bir ortamda durum bilgisi olan işlevleri yazmak için Azure İşlevleri özelliği olan Dayanıklı İşlevler kullanın. Dayanıklı İşlevler, uygulamanızdaki durumu, denetim noktalarını ve yeniden başlatmaları otomatik olarak yönetir.
Bu hızlı başlangıçta, Visual Studio Code yerel olarak bir Dayanıklı İşlevler uygulaması oluşturup test etmek ve ardından Azure yayımlamak için Azure İşlevleri uzantısını kullanacaksınız. Uygulama, bir dizi şehir adı için selamlar döndüren etkinlik işlevlerine yapılan çağrıları organize eder ve birleştirir.
Önemli
Bu makalenin içeriği, sayfanın üst kısmındaki seçicideki Node.js programlama modeli seçiminize göre değişir. Genel kullanıma sunulan v4 modeli, JavaScript ve TypeScript geliştiricileri için daha esnek ve sezgisel bir deneyime sahip olacak şekilde tasarlanmıştır. Geçiş kılavuzunda v3 ve v4 arasındaki farklar hakkında daha fazla bilgi edinin.
Tip
v4 programlama modeli Node.js Azure İşlevleri için geçerli varsayılandır ve yeni projeler için önerilir. Henüz taşınmamış mevcut uygulamalar için v3 modeli kullanılabilir.
Önkoşullar
Bu hızlı başlangıcı tamamlamak için şunları yapmanız gerekir:
- Visual Studio Code yüklendi.
- Visual Studio Code uzantısı Azure İşlevleri yüklü.
- Visual Studio Code uzantısı Azure İşlevleri sürüm 1.10.4 veya üzeri yüklü.
- Azure İşlevleri Core Tools'nin en son sürümü yüklü.
- Azure İşlevleri Core Tools sürüm 4.0.5382 veya üzeri yüklü.
Verilerinizin güvenliğini sağlayan bir HTTP test aracı. Daha fazla bilgi için bkz . HTTP test araçları.
Azure aboneliği. Dayanıklı İşlevler kullanmak için bir Azure Depolama hesabınız olmalıdır.
- TypeScript sürüm 4.x+ yüklü.
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Yerel projenizi oluşturma
Bu bölümde, yerel bir Azure İşlevleri projesi oluşturmak için Visual Studio Code kullanacaksınız.
Visual Studio Code komut paletini açmak için F1'i seçin (veya Ctrl/Cmd+Shift+P'yi seçin). İstemde (
>), girin ve Azure İşlevleri: Yeni Proje Oluştur öğesini seçin.
Göz at seçeneğini seçin. Klasör Seç iletişim kutusunda, projeniz için kullanılacak klasöre gidin ve Seç'i seçin.
İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Açıklama İşlev uygulaması projeniz için bir dil seçin TypeScript'i seçin. TypeScript kullanarak yerel bir Node.js İşlevleri projesi oluşturur. JavaScript programlama modeli seçme Model V3'i seçin. v3 programlama modelini ayarlar. Bir sürüm seçin Azure İşlevleri v4 öğesini seçin. Bu seçeneği yalnızca Çekirdek Araçlar henüz yüklü olmadığında görürsünüz. Bu durumda, uygulamayı ilk kez çalıştırdığınızda Core Tools yüklenir. Projenizin ilk işlevi için bir şablon seçin Şimdilik atla seçin. Projenizi nasıl açmak istediğinizi seçin Geçerli pencerede aç'ı seçin. Seçtiğiniz klasörde Visual Studio Code açar.
İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Açıklama İşlev uygulaması projeniz için bir dil seçin TypeScript'i seçin. TypeScript kullanarak yerel bir Node.js İşlevleri projesi oluşturur. JavaScript programlama modeli seçme Model V4'i seçin. v4 programlama modelini ayarlar. Bir sürüm seçin Azure İşlevleri v4 öğesini seçin. Bu seçeneği yalnızca Çekirdek Araçlar henüz yüklü olmadığında görürsünüz. Bu durumda, uygulamayı ilk kez çalıştırdığınızda Core Tools yüklenir. Projenizin ilk işlevi için bir şablon seçin Şimdilik atla seçin. Projenizi nasıl açmak istediğinizi seçin Geçerli pencerede aç'ı seçin. Seçtiğiniz klasörde Visual Studio Code açar.
Visual Studio Code, proje oluşturmak için gerekliyse Azure İşlevleri Core Tools'u yükler. Ayrıca bir klasörde bir işlev uygulaması projesi oluşturur. Bu proje host.json ve local.settings.json yapılandırma dosyalarını içerir.
Kök klasörde bir package.json dosyası ve tsconfig.json dosyası da oluşturulur.
durable-functions npm paketini yükleme
Node.js işlev uygulamasında Dayanıklı İşlevler ile çalışmak için durable-functions npm paketini kullanırsınız.
View menüsünü kullanın veya Ctrl+Shift+' tuşlarına basarak Visual Studio Code'da yeni bir terminal açın.
İşlev uygulamasının kök dizininde çalıştırarak
npm install durable-functionspaketi yükleyin.
Uyarı
Bu, v4 programlama modelini destekleyen sürüm olan 3.x paketini yükler durable-functions . npm paketi ana sürümü, Node.js programlama modeli sürümüne karşılık gelmez.
İşlevlerinizi oluşturma
En temel Dayanıklı İşlevler uygulamasının üç işlevi vardır:
- Orchestrator işlevi: Diğer işlevleri düzenleyen bir iş akışı.
- Etkinlik işlevi: Orchestrator işlevi tarafından çağrılan, iş gerçekleştiren ve isteğe bağlı olarak bir değer döndüren işlev.
- Client işlevi: Azure'da bir düzenleyici işlevi başlatan standart bir işlev. Bu örnekte HTTP ile tetiklenen bir işlev kullanılır.
Orchestrator işlevi
Projenizde Dayanıklı İşlevler kodu oluşturmak için bir şablon kullanırsınız.
Komut paletine Azure İşlevleri: İşlev Oluştur yazın ve seçin.
İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Açıklama İşleviniz için şablon seçme Dayanıklı İşlevler orchestrator öğesini seçin. Bu komut, bir Dayanıklı İşlevler düzenlemesi oluşturur. Dayanıklı bir depolama türü seçin Azure Depolama (Varsayılan) öğesini seçin. depolama arka ucunu Dayanıklı İşlevler uygulamanız için kullanılacak şekilde ayarlar. İşlev adı belirtin HelloOrchestrator girin. İşlevinizin adı.
Etkinlik işlevlerini koordine etmek için bir düzenleyici eklediniz. Orchestrator işlevini görmek için HelloOrchestrator/index.ts açın. Her bir context.df.callActivity çağrısı, Hello adlı bir etkinlik işlevi çağırır.
Ardından, referans verilen Hello aktivite işlevini eklersiniz.
Aktivite işlevi
Komut paletine Azure İşlevleri: İşlev Oluştur yazın ve seçin.
İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Açıklama İşleviniz için şablon seçme Dayanıklı İşlevler activity öğesini seçin. Etkinlik işlevi oluşturur. İşlev adı belirtin Merhaba yazın. Etkinlik işlevinizin adı.
Düzenleyici tarafından çağrılan Hello etkinlik işlevini eklediniz. Giriş olarak bir ad alıp selamlama döndürdüğünü görmek için Hello/index.ts açın. Etkinlik işlevi, iş akışınızda veritabanı çağrısı yapma veya belirli olmayan bir hesaplama gerçekleştirme gibi "gerçek işi" gerçekleştirdiğiniz yerdir.
Son olarak, düzenlemeyi başlatan HTTP ile tetiklenen bir işlev eklersiniz.
İstemci işlevi (HTTP starter)
Komut paletine girin ve
Azure İşlevleri: Create Functionseçin.İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Açıklama İşleviniz için şablon seçme Dayanıklı İşlevler HTTP starter öğesini seçin. Bir HTTP başlatıcı işlevi oluşturur. İşlev adı belirtin DurableFunctionsHttpStart'ı seçin. Etkinlik işlevinizin adı. Yetkilendirme düzeyi Anonim'i seçin. Tanıtım amacıyla bu değer, işlevin kimlik doğrulaması kullanılmadan çağrılmasını sağlar.
HTTP ile tetiklenen ve bir orkestrasyonu başlatan bir işlev eklediniz.
DurableFunctionsHttpStart/index.ts'yi açarak, yeni bir orkestrasyon başlatmak için client.startNew kullandığını görebilirsiniz. Ardından, client.createCheckStatusResponse kullanarak yeni düzenlemeyi izlemek ve yönetmek için kullanılabilecek URL'leri içeren bir HTTP yanıtını döndürür.
Artık yerel olarak çalıştırabileceğiniz ve Azure dağıtabileceğiniz bir Dayanıklı İşlevler uygulamanız var.
v4 programlama modelinin avantajlarından biri, işlevlerinizi nereye yazdığınızın esnekliğidir. v4 modelinde, projenizdeki tek bir dosyada üç işlevi de oluşturmak için tek bir şablon kullanabilirsiniz.
Komut paletine Azure İşlevleri: İşlev Oluştur yazın ve seçin.
İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Açıklama İşleviniz için şablon seçme Dayanıklı İşlevler orchestrator öğesini seçin. Dayanıklı İşlevler uygulaması orkestrasyonu, bir etkinlik işlevi ve bir dayanıklı istemci başlatıcı işlevi içeren bir dosya oluşturur. Dayanıklı bir depolama türü seçin Azure Depolama (Varsayılan) öğesini seçin. Dayanıklı İşleviniz için kullanılacak depolama arka ucunu ayarlar. İşlev adı belirtin Merhaba yazın. Dayanıklı fonksiyonunuz için bir ad.
Oluşturduğunuz işlevleri görüntülemek için src/functions/hello.ts açın.
Etkinlik işlevlerini koordine etmek için adlı helloOrchestrator bir düzenleyici oluşturdunuz. Her bir context.df.callActivity çağrısı, hello adlı bir etkinlik işlevini başlatır.
Düzenleyici tarafından çağrılan hello etkinlik işlevini de eklediniz. Aynı dosyada, girdi olarak bir ad aldığını ve selamlama döndürdüğünü görebilirsiniz. Etkinlik işlevi, iş akışınızda veritabanı çağrısı yapma veya belirli olmayan bir hesaplama gerçekleştirme gibi "gerçek işi" gerçekleştirdiğiniz yerdir.
Son olarak, bir orkestrasyonu başlatan HTTP ile tetiklenen bir işlev eklediniz. Aynı dosyada, yeni bir orkestrasyon başlatmak için client.startNew kullandığını görebilirsiniz. Ardından, client.createCheckStatusResponse kullanarak yeni düzenlemeyi izlemek ve yönetmek için kullanılabilecek URL'leri içeren bir HTTP yanıtını döndürür.
Artık yerel olarak çalıştırabileceğiniz ve Azure dağıtabileceğiniz bir Dayanıklı İşlevler uygulamanız var.
İşlevi yerel olarak test etme
Azure İşlevleri Temel Araçları, yerel geliştirme bilgisayarınızda bir Azure İşlevleri projesi çalıştırma olanağı sağlar. Visual Studio Code'da ilk kez bir işlev başlattığınızda bu araçları yüklemeniz istenir.
Uyarı
Uygulamayı ilk kez yerel olarak çalıştırdığınızda, Visual Studio Code bir Azure Depolama hesabı seçmenizi veya oluşturmanızı ister. Dayanıklı İşlevler, orkestrasyon durumunu kalıcı hale getirmek için bir depolama hesabına ihtiyaç duyar.
İşlevinizi test etmek için etkinlik işlev kodunda
Hello( Hello/index.ts) bir kesme noktası ayarlayın. İşlev uygulaması projesini başlatmak için F5'i seçin veya komut paletinde Hata Ayıkla: Hata Ayıklamayı Başlat'ı seçin. Core Tools'tan alınan veri çıktısı, terminal panelinde görünür.Uyarı
Hata ayıklama hakkında daha fazla bilgi için bakınız Dayanıklı İşlevler tanılama kılavuzu.
İşlevinizi test etmek için etkinlik işlev kodunda
hello( src/functions/hello.ts) bir kesme noktası ayarlayın. İşlev uygulaması projesini başlatmak için F5'i seçin veya komut paletinde Hata Ayıkla: Hata Ayıklamayı Başlat'ı seçin. Core Tools'tan alınan veri çıktısı, terminal panelinde görünür.Uyarı
Hata ayıklama hakkında daha fazla bilgi için bakınız Dayanıklı İşlevler tanılama kılavuzu.
Dayanıklı İşlevler çalıştırmak için bir Azure Depolama hesabı gerekir. Visual Studio Code bir depolama hesabı seçmenizi istediğinde Depolama hesabı seç seçeneğini seçin.
İstemlerde, Azure'da yeni bir depolama hesabı oluşturmak için aşağıdaki bilgileri sağlayın.
Uyarı Eylem Açıklama Aboneliği seçin Aboneliğinizin adını seçin. Azure aboneliğiniz. Depolama hesabı seçme Yeni depolama hesabı oluştur'u seçin. Yeni depolama hesabının adını girin Benzersiz bir ad girin. Oluşturulacak depolama hesabının adı. Kaynak grubu seçme Benzersiz bir ad girin. Oluşturulacak kaynak grubunun adı. Konum seçin Bir Azure bölgesi seçin. Size yakın bir bölge seçin. Terminal panelinde HTTP ile tetiklenen işlevinizin URL uç noktasını kopyalayın.
URL uç noktasına HTTP POST isteği göndermek için tarayıcınızı veya bir HTTP test aracını kullanın.
Son segmenti orchestrator işlevinin (
HelloOrchestrator) adıyla değiştirin. URLhttp://localhost:7071/api/orchestrators/HelloOrchestrator'ye benzemelidir.Yanıt, HTTP işlevinin ilk sonucudur. Dayanıklı düzenleme işleminin başarıyla başladığını size bildirir. Henüz orkestrasyonun nihai sonucunu görüntülemez. Yanıt birkaç yararlı URL içerir. Şimdilik düzenlemenin durumunu sorgula.
URL uç noktasına HTTP POST isteği göndermek için tarayıcınızı veya bir HTTP test aracını kullanın.
Son segmenti orchestrator işlevinin (
helloOrchestrator) adıyla değiştirin. URLhttp://localhost:7071/api/orchestrators/helloOrchestrator'ye benzemelidir.Yanıt, HTTP işlevinin ilk sonucudur. Dayanıklı düzenleme işleminin başarıyla başladığını size bildirir. Henüz orkestrasyonun nihai sonucunu görüntülemez. Yanıt birkaç yararlı URL içerir. Şimdilik düzenlemenin durumunu sorgula.
URL
statusQueryGetUrideğerini kopyalayın, Tarayıcınızın adres çubuğuna yapıştırın ve isteği yürütün. AYRıCA, GET isteğini vermek için HTTP test aracınızı kullanmaya devam edebilirsiniz.İstek, durum için orkestrasyon örneğini sorgular. İstancın tamamlandığını ve dayanıklı işlevin çıktılarını veya sonuçlarını içerdiğini görmelisiniz. Bu örneğe benzer:
{ "name": "HelloOrchestrator", "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2020-03-18T21:54:49Z", "lastUpdatedTime": "2020-03-18T21:54:54Z" }
URL
statusQueryGetUrideğerini kopyalayın, Tarayıcınızın adres çubuğuna yapıştırın ve isteği yürütün. AYRıCA, GET isteğini vermek için HTTP test aracınızı kullanmaya devam edebilirsiniz.İstek, durum için orkestrasyon örneğini sorgular. Görmelisiniz ki örnek tamamlandı ve Dayanıklı İşlevler uygulamasının çıktıları veya sonuçlarını içeriyor. Bu örneğe benzer:
{ "name": "helloOrchestrator", "instanceId": "6ba3f77933b1461ea1a3828c013c9d56", "runtimeStatus": "Completed", "input": "", "customStatus": null, "output": [ "Hello, Tokyo", "Hello, Seattle", "Hello, Cairo" ], "createdTime": "2023-02-13T23:02:21Z", "lastUpdatedTime": "2023-02-13T23:02:25Z" }
- Hata ayıklamayı durdurmak için Visual Studio Code Shift+F5 tuşlarına basın.
İşlevin yerel bilgisayarınızda doğru şekilde çalıştığını doğruladıktan sonra, projeyi Azure yayımlamanın zamanı geldi.
Azure'a Giriş Yap
Azure kaynakları oluşturabilmeniz veya uygulamanızı yayımlayabilmeniz için önce Azure'da oturum açmanız gerekir.
Henüz oturum açmadıysanız Activity çubuğunda Azure simgesini seçin. Ardından Kaynaklar altında Azure için oturum açın'ı seçin.
Zaten oturum açtıysanız ve mevcut aboneliklerinizi görebiliyorsanız sonraki bölüme gidin. Henüz bir Azure hesabınız yoksa > Azure Hesabı Oluştur'u seçin. Öğrenciler Azure Öğrenci Hesabı Oluştur seçebilir.
Tarayıcıda sorulduğunda, Azure hesabınızı seçin ve Azure hesabı kimlik bilgilerinizi kullanarak oturum açın. Yeni bir hesap oluşturursanız, hesabınız oluşturulduktan sonra oturum açabilirsiniz.
Başarıyla oturum açtığınızda yeni tarayıcı penceresini kapatabilirsiniz. Azure hesabınıza ait abonelikler yan çubukta görüntülenir.
Azure'de işlev uygulamasını oluşturma
Bu bölümde, Azure aboneliğinizdeki ilgili kaynaklarla birlikte Flex Consumption planında bir işlev uygulaması oluşturacaksınız. Kaynak oluşturma kararlarının çoğu sizin için varsayılan davranışlara göre yapılır. Oluşturulan kaynaklar üzerinde daha fazla denetim için bunun yerine gelişmiş seçeneklerle işlev uygulamanızı oluşturmanız gerekir.
Visual Studio Code'da F1'i seçerek komut paletini açın. İstemde (
>), girin ve Azure İşlevleri: Azure'de İşlev Uygulaması Oluştur'u seçin.İstemlerde aşağıdaki bilgileri sağlayın:
Uyarı Eylem Aboneliği seçin Kullanılacak Azure aboneliğini seçin. Kaynaklar altında yalnızca bir aboneliğiniz görünür olduğunda istem görünmez. Yeni bir işlev uygulaması adı girin URL yolunda geçerli olan genel olarak benzersiz bir ad girin. Girdiğiniz ad, Azure İşlevleri benzersiz olduğundan emin olmak için doğrulanır. Yeni kaynaklar için bir konum seçin Bir Azure bölgesi seçin. Daha iyi performans için size yakın bir bölge seçin. Yalnızca Flex Consumption planları tarafından desteklenen bölgeler görüntülenir. Çalışma zamanı yığını seçme Şu anda yerel olarak çalıştırdığınız dil sürümünü seçin. Kaynak kimlik doğrulama türünü seçin Varsayılan ana bilgisayar depolama hesabına bağlanmak için en güvenli seçenek olan Yönetilen kimlik'i seçin. Azure: Etkinlik Günlüğü panelinde Azure uzantısı, Azure'da oluşturulan tek tek kaynakların durumunu gösterir.
İşlev uygulaması oluşturulduğunda, Azure aboneliğinizde aşağıdaki ilgili kaynaklar oluşturulur. Kaynaklar, işlev uygulamanız için girdiğiniz ada göre adlandırılır.
- İlgili kaynaklar için mantıksal bir kapsayıcı olan kaynak grubu.
- İşlev kodunuzu yürütmek için ortam sağlayan bir işlev uygulaması. İşlev uygulaması, aynı barındırma planı içindeki kaynakların daha kolay yönetilmesi, dağıtılması ve paylaşılması için işlevleri mantıksal birim olarak gruplandırmanıza olanak tanır.
- İşlev uygulamanız için temel konağı tanımlayan bir Azure Uygulaması Hizmeti planı.
- İşlev barındırıcısı tarafından işlev uygulamanızla ilgili durumu ve diğer bilgileri korumak için kullanılan standart Azure Depolama hesabı.
- İşlev uygulamasına bağlı olan ve uygulamadaki işlevlerinizin kullanımını izleyen bir Application Insights örneği.
- Kullanıcı tarafından atanan yönetilen kimlik, yeni varsayılan konak depolama hesabında Depolama Blob Verileri Katkıda Bulunanı rolüne eklenir.
İşlev uygulamanız oluşturulduktan sonra bir bildirim görüntülenir ve dağıtım paketi uygulanır.
Tip
Varsayılan olarak, işlev uygulamanız için gereken Azure kaynakları, işlev uygulamanız için girdiğiniz ada göre oluşturulur. Varsayılan olarak, kaynaklar işlev uygulamasıyla aynı, yeni kaynak grubunda oluşturulur. İlişkili kaynakların adlarını özelleştirmek veya mevcut kaynakları yeniden kullanmak istiyorsanız, projeyi gelişmiş oluşturma seçenekleriyle yayımlayın.
Projeyi Azure dağıtma
Önemli
Mevcut bir işlev uygulamasına dağıtım yapıldığında Azure'da bu uygulamanın içeriğinin her zaman üzerine yazılacağını unutmayın.
Komut paletine Azure İşlevleri: İşlev Uygulamasına Dağıt yazın ve seçin.
Yeni oluşturduğunuz işlev uygulamasını seçin. Önceki dağıtımların üzerine yazmanız istendiğinde, işlev kodunuzu yeni işlev uygulaması kaynağına dağıtmak için Dağıt'ı seçin.
Dağıtım tamamlandığında, oluşturduğunuz Azure kaynakları da dahil olmak üzere oluşturma ve dağıtım sonuçlarını görüntülemek için View Output öğesini seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.
İşlevinizi Azure'de test edin
Önemli
v4 Node.js programlama modelini kullanmak için işlev uygulamanızın Azure İşlevleri çalışma zamanının en az 4.25 sürümünde çalıştığından emin olun. sürümü Azure portalında Configuration>Function çalışma zamanı ayarları altında veya FUNCTIONS_EXTENSION_VERSION uygulama ayarını denetleyerek doğrulayabilirsiniz.
Çıkış panelinden HTTP tetikleyicisinin URL'sini kopyalayın. HTTP ile tetiklenen işlevinizi çağıran URL şu biçimde olmalıdır:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestrator
Çıkış panelinden HTTP tetikleyicisinin URL'sini kopyalayın. HTTP ile tetiklenen işlevinizi çağıran URL şu biçimde olmalıdır:
https://<functionappname>.azurewebsites.net/api/orchestrators/helloOrchestrator
- HTTP isteğinin yeni URL'sini tarayıcınızın adres çubuğuna yapıştırın. Yayımlanan uygulamayı kullandığınızda, yerel olarak test ettiğinizde elde ettiğiniz durum yanıtının aynısını almayı bekleyebilirsiniz.
Visual Studio Code kullanarak oluşturduğunuz ve yayımladığınız TypeScript Dayanıklı İşlevler uygulaması kullanıma hazırdır.
Kaynakları temizle
Hızlı başlangıcı tamamlamak için oluşturduğunuz kaynaklara artık ihtiyacınız yoksa, Azure aboneliğinizde ilgili maliyetlerden kaçınmak için kaynak grubunu ve tüm ilgili kaynakları geri alın.
İlgili içerik
- common Dayanıklı İşlevler uygulama desenleri hakkında bilgi edinin.
- Dayanıklı İşlevler'ı izlemeyi ve tanılamayı nasıl yapacağınızı öğrenin.
- Kod değişikliklerini yönetmek için Dayanıklı İşlevler sürüm oluşturma keşfedin.
