PowerShell'de ilk dayanıklı işlevinizi oluşturma

Dayanıklı İşlevler, sunucusuz bir ortamda durum bilgisi olan işlevler yazmanızı sağlayan bir Azure İşlevleri uzantısıdır. Uzantı sizin için durumu, denetim noktalarını ve yeniden başlatmaları yönetir.

Bu makalede, "hello world" dayanıklı işlevini yerel olarak oluşturmak ve test etmek için Visual Studio Code Azure İşlevleri uzantısını kullanmayı öğreneceksiniz. Bu işlev, diğer işlevlere çağrıları düzenler ve zincirler. Ardından işlev kodunu Azure’da yayımlayacaksınız.

Azure'da dayanıklı işlevi çalıştırma

Önkoşullar

Bu öğreticiyi tamamlamak için:

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Yerel projenizi oluşturma

Bu bölümde, yerel bir Azure İşlevleri projesi oluşturmak için Visual Studio Code'u kullanacaksınız.

  1. Visual Studio Code'da komut paletini açmak için F1 (veya Ctrl/Cmd+Shift+P) tuşlarına basın. Komut paletinde araması yapın ve öğesini seçin Azure Functions: Create New Project....

    İşlev oluşturma

  2. Projeniz için boş bir klasör konumu seçin ve Seç'i seçin.

  3. İstemleri izleyerek aşağıdaki bilgileri sağlayın:

    İstem Value Açıklama
    İşlev uygulaması projeniz için bir dil seçin PowerShell Yerel bir PowerShell İşlevleri projesi oluşturun.
    Bir sürüm seçin Azure İşlevleri v4 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
    Projenizi nasıl açmak istediğinizi seçin Geçerli pencerede aç Seçtiğiniz klasörde VS Code'un yeniden açılmasını sağlar.

Visual Studio Code gerekirse Azure İşlevleri Temel Araçları'nı 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ı da oluşturulur.

İşlev uygulamasını PowerShell 7 kullanacak şekilde yapılandırma

local.settings.json dosyasını açın ve adlı FUNCTIONS_WORKER_RUNTIME_VERSION ayarın olarak ~7ayarlandığını onaylayın. Eksikse veya başka bir değere ayarlanmışsa, dosyanın içeriğini güncelleştirin.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "powershell",
    "FUNCTIONS_WORKER_RUNTIME_VERSION" : "~7"
  }
}

İşlevlerinizi oluşturma

En temel Dayanıklı İşlevler uygulaması üç işlev içerir:

  • Orchestrator işlevi - diğer işlevleri düzenleyen bir iş akışını açıklar.
  • Etkinlik işlevi - orchestrator işlevi tarafından çağrılır, iş gerçekleştirir ve isteğe bağlı olarak bir değer döndürür.
  • İstemci işlevi - düzenleyici işlevi başlatan normal bir Azure İşlevi. Bu örnekte HTTP ile tetiklenen bir işlev kullanılır.

Orchestrator işlevi

Projenizde dayanıklı işlev kodunu oluşturmak için bir şablon kullanırsınız.

  1. Komut paletinde araması yapın ve öğesini seçin Azure Functions: Create Function....

  2. İstemleri izleyerek aşağıdaki bilgileri sağlayın:

    İstem Value Açıklama
    İşleviniz için şablon seçme Dayanıklı İşlevler düzenleyici Dayanıklı İşlevler düzenlemesi oluşturma
    İşlev adı belirtin HelloOrchestrator Dayanıklı işlevinizin adı

Etkinlik işlevlerini koordine etmek için bir düzenleyici eklediniz. Orchestrator işlevini görmek için HelloOrchestrator/run.ps1 dosyasını açın. cmdlet'ine yapılan Invoke-ActivityFunction her çağrı adlı Hellobir etkinlik işlevini çağırır.

Ardından başvuruda Hello bulunan etkinlik işlevini ekleyeceksiniz.

Activity işlevi

  1. Komut paletinde araması yapın ve öğesini seçin Azure Functions: Create Function....

  2. İstemleri izleyerek aşağıdaki bilgileri sağlayın:

    İstem Value Açıklama
    İşleviniz için şablon seçme Dayanıklı İşlevler etkinliği Etkinlik işlevi oluşturma
    İşlev adı belirtin Merhaba Etkinlik işlevinizin adı

Düzenleyici tarafından çağrılan etkinlik işlevini eklediniz Hello . Giriş olarak bir ad alıp selamlama döndürdüğünü görmek için Hello/run.ps1 dosyasını açın. Etkinlik işlevi, veritabanı çağrısı yapma veya hesaplama gerçekleştirme gibi eylemleri gerçekleştireceğiniz yerdir.

Son olarak, düzenlemeyi başlatan HTTP ile tetiklenen bir işlev ekleyeceksiniz.

İstemci işlevi (HTTP starter)

  1. Komut paletinde araması yapın ve öğesini seçin Azure Functions: Create Function....

  2. İstemleri izleyerek aşağıdaki bilgileri sağlayın:

    İstem Value Açıklama
    İşleviniz için şablon seçme HTTP başlatıcıyı Dayanıklı İşlevler HTTP starter işlevi oluşturma
    İşlev adı belirtin HttpStart Etkinlik işlevinizin adı
    Yetkilendirme düzeyi Anonim Tanıtım amacıyla, işlevin kimlik doğrulaması olmadan çağrılmasına izin verin

Düzenlemeyi başlatan HTTP ile tetiklenen bir işlev eklediniz. Yeni bir düzenleme başlatmak için cmdlet'ini Start-NewOrchestration kullandığını görmek için HttpStart/run.ps1 dosyasını açın. Ardından cmdlet'ini kullanarak yeni düzenlemeyi New-OrchestrationCheckStatusResponse izlemek ve yönetmek için kullanılabilecek URL'leri içeren bir HTTP yanıtı döndürür.

Artık yerel olarak çalıştırılıp Azure'a dağıtılabilir bir Dayanıklı İşlevler uygulamanız var.

Not

DF PowerShell'in sonraki sürümü önizleme aşamasındadır ve PowerShell Galerisi indirilebilir. Tek başına PowerShell SDK'sı kılavuzunda bu konuda bilgi edinin ve nasıl deneyebileceğinizi öğrenin. Nasıl etkinleştirileceğine ilişkin bu hızlı başlangıçla uyumlu yönergeler için kılavuzun yükleme bölümünü izleyebilirsiniz.

İşlevi yerel olarak test etme

Azure İşlevleri Temel Araçları, Azure İşlevleri projenizi yerel geliştirme bilgisayarınızda çalıştırmanıza olanak sağlar. Visual Studio Code'dan bir işlev uygulamasını ilk kez başlattığınızda bu araçları yüklemeniz istenir.

  1. İşlevinizi test etmek için etkinlik işlev kodunda Hello (Hello/run.ps1) bir kesme noktası ayarlayın. F5 tuşuna basın veya işlev uygulaması projesini başlatmak için komut paletinden öğesini seçin Debug: Start Debugging . Temel Araçlar’daki çıktı, Terminal panelinde görüntülenir.

    Not

    Hata ayıklama hakkında daha fazla bilgi için Dayanıklı İşlevler Tanılama bölümüne bakın.

  2. Dayanıklı İşlevler çalıştırmak için bir Azure Depolama hesabı gerekir. VS Code bir depolama hesabı seçmenizi isterken Depolama hesabı seç'i seçin.

    Depolama hesabı oluştur

  3. İstemlerin ardından, Azure'da yeni bir depolama hesabı oluşturmak için aşağıdaki bilgileri sağlayın.

    İstem Value Açıklama
    Abonelik seçme aboneliğinizin adı Azure aboneliğinizi seçin
    Depolama hesabı seçin Yeni depolama hesabı oluşturma
    Yeni depolama hesabının adını girin benzersiz ad Oluşturulacak depolama hesabının adı
    Kaynak grubu seçme benzersiz ad Oluşturulacak kaynak grubunun adı
    Bir konum seçin Bölge Size yakın bir bölge seçin
  4. Terminal panelinde, HTTP ile tetiklenen işlevinizin URL uç noktasını kopyalayın.

    Azure yerel çıktısı

  5. Tarayıcınızı veya Postman veya cURL gibi bir aracı kullanarak URL uç noktasına bir HTTP POST isteği gönderin. Son segmenti orchestrator işlevinin (HelloOrchestrator) adıyla değiştirin. URL ile benzer http://localhost:7071/api/orchestrators/HelloOrchestratorolmalıdır.

    Yanıt, HTTP işlevinin dayanıklı düzenlemenin başarıyla başladığını bildiren ilk sonucudur. Henüz düzenlemenin sonucu değildir. Yanıt birkaç yararlı URL içerir. Şimdilik düzenlemenin durumunu sorgulayalım.

  6. url statusQueryGetUri değerini kopyalayıp tarayıcının adres çubuğuna yapıştırın ve isteği yürütür. Alternatif olarak, GET isteğini vermek için Postman'i kullanmaya devam edebilirsiniz.

    İstek, durum için düzenleme örneğini sorgular. Örneğin tamamlandığını gösteren ve dayanıklı işlevin çıkışlarını veya sonuçlarını içeren nihai bir yanıt almanız gerekir. Şuna 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"
    }
    
  7. Hata ayıklamayı durdurmak için VS Code'da Shift + F5 tuş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.

Azure'da oturum açma

Azure kaynakları oluşturabilmeniz veya uygulamanızı yayımlayabilmeniz için önce Azure'da oturum açmanız gerekir.

  1. Henüz oturum açmadıysanız Etkinlik çubuğunda Azure simgesini seçin. Ardından Kaynaklar alanında Azure'da oturum aç... seçeneğini belirleyin.

    VS Code içinde Azure'da oturum açma penceresinin ekran görüntüsü.

    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... seçeneğini belirleyin. Öğrenciler Öğrenciler için Azure Hesabı Oluştur'u seçebilir....

  2. 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.

  3. Başarıyla oturum açtıktan sonra yeni tarayıcı penceresini kapatabilirsiniz. Azure hesabınıza ait abonelikler kenar çubuğunda görüntülenir.

Azure'da işlev uygulamasını oluşturma

Bu bölümde, Azure aboneliğinizde bir işlev uygulaması ve ilgili kaynaklar oluşturacaksınız.

  1. Etkinlik çubuğunda Azure simgesini seçin. Ardından Kaynaklar alanında simgeyi + seçin ve Azure'da İşlev Uygulaması Oluştur seçeneğini belirleyin.

    Azure aboneliğinizde kaynak oluşturma

  2. İstemlerde aşağıdaki bilgileri sağlayın:

    İstem Seçim
    Aboneliği seçin Kullanılacak aboneliği seçin. Kaynaklar altında yalnızca bir aboneliğiniz olduğunda bu istemi görmezsiniz.
    İşlev uygulaması için genel olarak benzersiz bir ad girin URL yolunda geçerli bir ad yazın. Yazdığınız ad, Azure İşlevleri benzersiz olduğundan emin olmak için doğrulanır.
    Çalışma zamanı yığını seçme Yerel olarak çalıştırdığınız dil sürümünü seçin.
    Yeni kaynaklar için bir konum seçin Daha iyi performans için size yakın bir bölge seçin.

    Uzantı, Azure'da oluşturulan tek tek kaynakların durumunu Azure : Etkinlik Günlüğü panelinde gösterir.

    Azure kaynak oluşturma günlüğü

  3. Oluşturma işlemi tamamlandığında aboneliğinizde aşağıdaki Azure kaynakları oluşturulur. Kaynaklar, işlev uygulamanızın adına göre adlandırılır:

    • İlgili kaynaklar için mantıksal bir kapsayıcı olan kaynak grubu.
    • Projeleriniz hakkındaki durumu ve diğer bilgileri koruyan standart bir Azure Depolama hesabı.
    • İş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 App Service planı.
    • uygulamadaki işlevlerinizin kullanımını izleyen işlev uygulamasına bağlı bir Uygulama Analizler örneği.

    İşlev uygulamanız oluşturulduktan sonra bir bildirim görüntülenir ve dağıtım paketi uygulanır.

    İpucu

    Varsayılan olarak, işlev uygulamanızın gerektirdiği Azure kaynakları, sağladığınız işlev uygulaması adına göre oluşturulur. Varsayılan olarak, bunlar işlev uygulamasıyla aynı yeni kaynak grubunda da oluşturulur. Bu kaynakların adlarını özelleştirmek veya mevcut kaynakları yeniden kullanmak istiyorsanız, bunun yerine projeyi gelişmiş oluşturma seçenekleriyle yayımlamanız gerekir.

Projeyi Azure’a dağıtma

Önemli

Mevcut bir işlev uygulamasına dağıtılması her zaman Azure'da bu uygulamanın içeriğinin üzerine yazılır.

  1. Azure etkinliğinin Kaynaklar alanında, yeni oluşturduğunuz işlev uygulaması kaynağını bulun, kaynağa sağ tıklayın ve İşlev uygulamasına dağıt... öğesini seçin.

  2. Ö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.

  3. Dağıtım tamamlandıktan sonra, oluşturduğunuz Azure kaynakları da dahil olmak üzere oluşturma ve dağıtım sonuçlarını görüntülemek için Çıkışı Görüntüle'yi seçin. Bildirimi kaçırırsanız, yeniden görmek için sağ alt köşedeki zil simgesini seçin.

    Çıktıyı Görüntüle penceresinin ekran görüntüsü.

Azure'da işlevinizi test etme

  1. Çıktı 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

  2. HTTP isteğinin yeni URL’sini tarayıcınızın adres çubuğuna yapıştırın. Yayımlanan uygulamayı kullanırken önceki durum yanıtıyla aynı durum yanıtını almanız gerekir.

Sonraki adımlar

PowerShell dayanıklı işlev uygulaması oluşturmak ve yayımlamak için Visual Studio Code'u kullandınız.