Share via


Azure portalını kullanarak Dayanıklı İşlevler oluşturma

Azure İşlevleri için Dayanıklı İşlevler uzantısı, Microsoft.Azure.WebJobs.Extensions.DurableTask NuGet paketinde sağlanır. Bu uzantı işlev uygulamanıza yüklenmelidir. Bu makalede, Azure portalında dayanıklı işlevler geliştirebilmeniz için bu paketin nasıl yükleneceği gösterilmektedir.

Not

İşlev uygulaması oluşturma

Herhangi bir işlevin yürütülmesini barındırmak için bir işlev uygulamanız olmalıdır. İşlev uygulaması, işlevlerinizi daha kolay yönetim, dağıtım, ölçeklendirme ve kaynak paylaşımı için mantıksal birim olarak gruplandırmanıza olanak tanır. .NET veya JavaScript uygulaması oluşturabilirsiniz.

  1. Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.

  2. Yeni sayfasında İşlem>İşlevi Uygulaması'nı seçin.

  3. Varsayılan Tüketim planında uygulamanızı oluşturmak için Barındırma seçeneği belirtin altında Tüketim> Seç'i seçin. Bu sunucusuz barındırma seçeneğinde yalnızca işlevlerinizin çalıştığı süre için ödeme alırsınız. Premium plan ayrıca dinamik ölçeklendirme de sunar. Bir App Service planı içinde çalıştırdığınızda işlev uygulamanızın ölçeklendirmesini yönetmeniz gerekir.

  4. Temel Bilgiler sayfasında, aşağıdaki tabloda belirtilen işlev uygulaması ayarlarını kullanın:

    Ayar Önerilen değer Açıklama
    Abonelik Aboneliğiniz Yeni işlev uygulamanızı oluşturduğunuz abonelik.
    Kaynak Grubu myResourceGroup İşlev uygulamanızı oluşturduğunuz yeni kaynak grubunun adı. Mevcut bir kaynak grubunda yeni işlev uygulamaları oluştururken bilinen sınırlamalar olduğundan yeni bir kaynak grubu oluşturmanız gerekir.
    İşlev Uygulamasının adı Genel olarak benzersiz bir ad Yeni işlev uygulamanızı tanımlayan ad. Geçerli karakterler şunlardır: a-z (büyük/küçük harf duyarsız), 0-9 ve -.
    Çalışma zamanı yığını Tercih edilen dil Tercih ettiğiniz işlev programlama dilini destekleyen bir çalışma zamanı seçin. Portal içi düzenleme yalnızca JavaScript, PowerShell, Python, TypeScript ve C# betiği için kullanılabilir. C# sınıf kitaplığı ve Java işlevleri yerel olarak geliştirilmelidir.
    Sürüm Sürüm numarası Yüklü çalışma zamanınızın sürümünü seçin.
    Bölge Tercih edilen bölge Size yakın veya işlevlerinizin erişebileceği diğer hizmetlere yakın bir bölge seçin.
    İşletim sistemi Windows Çalışma zamanı yığını seçiminize göre bir işletim sistemi sizin için önceden seçilmiştir, ancak gerekirse ayarı değiştirebilirsiniz. Portal içi düzenleme yalnızca Windows'ta desteklenir.
  5. Depolama sekmesinde yeni bir depolama hesabı oluşturmanın varsayılan davranışı ve İzleme sekmesinde yeni bir Application Insight örneği de dahil olmak üzere, kalan sekmelerdeki varsayılan seçenekleri kabul edin. Ayrıca mevcut bir depolama hesabını veya Uygulama Analizler örneğini kullanmayı da seçebilirsiniz.

  6. Gözden geçir + oluştur'u seçerek seçtiğiniz uygulama yapılandırmasını gözden geçirin ve ardından oluştur'u seçerek işlev uygulamasını sağlayın ve dağıtın.

  7. Portalın sağ üst köşesindeki Bildirimler simgesini seçin ve Dağıtım başarılı iletisini izleyin.

  8. Yeni işlev uygulamanızı görüntülemek için Kaynağa git’i seçin. Panoya sabitle'yi de seçebilirsiniz. Sabitleme, panonuzdan bu işlev uygulaması kaynağına geri dönmeyi kolaylaştırır.

    Dağıtım bildiriminin ekran görüntüsü.

Varsayılan olarak, oluşturulan işlev uygulaması Azure İşlevleri çalışma zamanının 2.x sürümünü kullanır. Dayanıklı İşlevler uzantısı hem C# Azure İşlevleri çalışma zamanının 1.x ve 2.x sürümlerinde hem de JavaScript'te 2.x sürümünde çalışır. Ancak şablonlar yalnızca seçilen dilden bağımsız olarak çalışma zamanının 2.x sürümünü hedeflerken kullanılabilir.

durable-functions npm paketini yükleme (yalnızca JavaScript)

JavaScript Dayanıklı İşlevler oluşturuyorsanız npm paketini yüklemeniz durable-functions gerekir:

  1. İşlev uygulamanızın sayfasından sol bölmedeki Geliştirme Araçları'nın altında Gelişmiş Araçlar'ı seçin.

    İşlevler platformu özellikleri Kudu'yu seçin

  2. Gelişmiş Araçlar sayfasında Git'i seçin.

  3. Kudu konsolunun içinde Hata ayıklama konsolu'nu ve ardından CMD'yi seçin.

    Kudu hata ayıklama konsolu

  4. İşlev uygulamanızın dosya dizin yapısı görüntülenmelidir. site/wwwroot klasörüne gidin. Buradan, dosyayı package.json sürükleyip dosya dizini penceresine bırakarak karşıya yükleyebilirsiniz. Aşağıda bir örnek package.json verilmiştir:

    {
      "dependencies": {
        "durable-functions": "^1.3.1"
      }
    }
    

    Kudu karşıya yükleme package.json

  5. Öğesiniz package.json karşıya yüklendikten sonra Kudu Uzaktan Yürütme Konsolu'ndan komutunu çalıştırın npm install .

    Kudu npm yüklemesini çalıştır

Orchestrator işlevi oluşturma

  1. İşlev uygulamanızda sol bölmeden İşlevler'i ve ardından üst menüden Ekle'yi seçin.

  2. Yeni İşlev sayfasının arama alanına yazın durableve http başlangıç şablonunu Dayanıklı İşlevler seçin.

    HTTP başlatıcı Dayanıklı İşlevler seçin

  3. Yeni İşlev adı için girin HttpStartve İşlev Oluştur'u seçin.

    Oluşturulan işlev düzenlemeyi başlatmak için kullanılır.

  4. bu kez Dayanıklı İşlevler düzenleyici şablonunu kullanarak işlev uygulamasında başka bir işlev oluşturun. Yeni düzenleme işlevinize HelloSequenceadını verin.

  5. Dayanıklı İşlevler etkinlik şablonunu kullanarak adlı Hello üçüncü bir işlev oluşturun.

Dayanıklı işlev düzenlemesini test edin

  1. HttpStart işlevine geri dönün, İşlev Url'sini al'ı seçin ve URL'yi kopyalamak için Panoya kopyala simgesini seçin. HelloSequence işlevini başlatmak için bu URL'yi kullanırsınız.

  2. Kopyaladığınız URL'ye POST isteği göndermek için Postman veya cURL gibi bir HTTP aracı kullanın. Aşağıdaki örnek, dayanıklı işleve POST isteği gönderen bir cURL komutudur:

    curl -X POST https://{your-function-app-name}.azurewebsites.net/api/orchestrators/{functionName} --header "Content-Length: 0"
    

    Bu örnekte, {your-function-app-name} işlev uygulamanızın adı olan etki alanı ve {functionName} HelloSequence orchestrator işlevidir. Yanıt iletisi, aşağıdaki örneğe benzeyen ve yürütmeyi izleyip yönetmenizi sağlamak için kullanabileceğiniz bir dizi URI uç noktasını içerir:

    {  
       "id":"10585834a930427195479de25e0b952d",
       "statusQueryGetUri":"https://...",
       "sendEventPostUri":"https://...",
       "terminatePostUri":"https://...",
       "rewindPostUri":"https://..."
    }
    
  3. Uç nokta URI'sini statusQueryGetUri çağırdığınızda dayanıklı işlevin geçerli durumunu görürsünüz ve bu durum şu örneğe benzer olabilir:

        {
            "runtimeStatus": "Running",
            "input": null,
            "output": null,
            "createdTime": "2017-12-01T05:37:33Z",
            "lastUpdatedTime": "2017-12-01T05:37:36Z"
        }
    
  4. Durum Tamamlandı olarak değişene ve aşağıdaki örneğe benzer bir yanıt görene kadar uç noktayı çağırmaya statusQueryGetUri devam edin:

    {
            "runtimeStatus": "Completed",
            "input": null,
            "output": [
                "Hello Tokyo!",
                "Hello Seattle!",
                "Hello London!"
            ],
            "createdTime": "2017-12-01T05:38:22Z",
            "lastUpdatedTime": "2017-12-01T05:38:28Z"
        }
    

İlk dayanıklı işleviniz artık Azure'da çalışır durumda.

Sonraki adımlar