Azure Static Web Apps'da Blazor uygulaması dağıtma

Azure Static Web Apps sunucusuz arka uç tarafından desteklenen bir GitHub deposundan uygulama oluşturarak bir web sitesini üretim ortamında yayımlar. Aşağıdaki öğreticide sunucusuz API tarafından döndürülen hava durumu verilerini görüntüleyen C# Blazor WebAssembly uygulamasının nasıl dağıtılacağı gösterilmektedir.

Önkoşullar

1. Depo oluşturma

Bu makalede, başlamanızı kolaylaştırmak için bir GitHub şablon deposu kullanılmaktadır. Şablonda, Azure Static Web Apps dağıtabileceğiniz bir başlangıç uygulaması bulunur.

  1. GitHub'da oturum açtığınızdan emin olun ve yeni bir depo oluşturmak için aşağıdaki konuma gidin: https://github.com/staticwebdev/blazor-starter/generate
  2. Deponuza my-first-static-blazor-app adını verin.

2. Statik web uygulaması oluşturma

Depo oluşturulduğuna göre, Azure portal statik bir web uygulaması oluşturun.

  1. Azure Portal gidin.

  2. Kaynak Oluştur’u seçin.

  3. Static Web Apps arayın.

  4. Statik Web Uygulaması'ı seçin.

  5. Oluştur’u seçin.

  6. Temel Bilgiler sekmesinde aşağıdaki değerleri girin.

    Özellik Değer
    Abonelik Azure aboneliğinizin adı.
    Kaynak grubu my-blazor-group
    Ad my-first-static-blazor-app
    Plan türü Ücretsiz
    Azure İşlevleri API ve hazırlama ortamları için bölge Size en yakın bölgeyi seçin.
    Kaynak GitHub
  7. İstenirse GitHub ile oturum açın ve GitHub ile kimlik doğrulaması yapın'ı seçin.

  8. Aşağıdaki GitHub değerlerini girin.

    Özellik Değer
    Kuruluş İstediğiniz GitHub kuruluşunu seçin.
    Depo my-first-static-blazor-app öğesini seçin.
    Dal Ana öğesini seçin.

    Not

    Depo görmüyorsanız GitHub'da Azure Static Web Apps yetkilendirmeniz gerekebilir. Ardından GitHub deponuza göz atın ve Ayarlar > Uygulamaları > Yetkili OAuth Uygulamaları'na gidin,Azure Static Web Apps'ı seçin ve ardından Ver'i seçin. Kuruluş depoları için, izinleri vermek için kuruluşun sahibi olmanız gerekir.

  9. Derleme Ayrıntıları bölümünde DerlemeÖn Ayarları açılan listesinden Blazor'ı seçtiğinizde aşağıdaki değerler doldurulur.

    Özellik Değer Açıklama
    Uygulama konumu İstemci Blazor WebAssembly uygulamasını içeren klasör
    API konumu Apı Azure İşlevleri uygulamasını içeren klasör
    Çıkış konumu wwwroot Yayımlanan Blazor WebAssembly uygulamasını içeren derleme çıkışındaki klasör
  10. Ayrıntıların doğru olduğunu doğrulamak için Gözden Geçir + Oluştur'u seçin.

  11. Statik web uygulamasını oluşturmaya başlamak ve dağıtım için bir GitHub Actions sağlamak için Oluştur'u seçin.

  12. Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.

  13. Kaynağa git’i seçin.

Kaynağa git düğmesi

3. Web sitesini görüntüleme

Statik uygulama dağıtmanın iki yönü vardır. Bunların ilki uygulamanızı oluşturan temel alınan Azure kaynaklarının sağlanmasıdır. İkincisi de, uygulamanızı derleyip yayımlayan GitHub Actions iş akışıdır.

Yeni statik web uygulamanıza gidebilmeniz için önce dağıtım derlemesinin çalışmasının bitması gerekir.

Static Web Apps genel bakış penceresinde, web uygulamanızla etkileşim kurmanıza yardımcı olacak bir dizi bağlantı görüntülenir.

  1. Deponuzda çalışan GitHub Actions görmek için GitHub Actions çalıştırmalarınızın durumunu denetlemek için buraya tıklayın başlığını seçin. Dağıtım işinin tamamlanmasını doğruladıktan sonra, oluşturulan URL aracılığıyla web sitenize gidebilirsiniz.

    Genel bakış penceresini gösteren ekran görüntüsü.

  2. GitHub Actions iş akışı tamamlandıktan sonra URL bağlantısını seçerek web sitesini yeni sekmede açabilirsiniz.

    Static Web Apps Blazor web sayfasının ekran görüntüsü.

4. Uygulamaya genel bakışı anlama

Aşağıdaki projeler birlikte, Azure İşlevleri API arka ucu tarafından desteklenen tarayıcıda çalışan bir Blazor WebAssembly uygulaması oluşturmak için gereken bölümleri oluşturur.

Visual Studio projesi Description
Apı C# Azure İşlevleri uygulaması Blazor WebAssembly uygulamasına hava durumu bilgileri sağlayan API uç noktasını uygular. WeatherForecastFunction bir nesne dizisi WeatherForecast döndürür.
İstemci Ön uç Blazor WebAssembly projesi. İstemci tarafı yönlendirmenin işlevsel olduğundan emin olmak için bir geri dönüş yolu uygulanır.
Paylaşılan Verilerin API uç noktasından ön uç web uygulamasına akmasına olanak tanıyan hem Api hem de İstemci projeleri tarafından başvurulan ortak sınıfları tutar. sınıfı WeatherForecast her iki uygulama arasında paylaşılır.

Blazor statik web uygulamasıComplete Blazor uygulaması.

Geri dönüş yolu

Uygulama, uygulamanın belirli yollarına eşlenen ve /fetchdatagibi /counter URL'leri kullanıma sunar. Bu uygulama tek bir sayfa olarak uygulandığından, her yol dosyaya index.html sunulur. Herhangi bir yol için isteklerin döndürdüğünü index.htmlgüvence altına almak için, istemci projesinin staticwebapp.config.json kök klasöründe bulunan dosyaya bir geri dönüş yolu uygulanır.

{
  "navigationFallback": {
    "rewrite": "/index.html"
  }
}

JSON yapılandırması, uygulamadaki herhangi bir yola yapılan isteklerin sayfayı döndürmesini index.html sağlar.

Kaynakları temizleme

Bu uygulamayı kullanmayacaksanız, aşağıdaki adımları izleyerek Azure Static Web Apps örneğini silebilirsiniz:

  1. Azure portalını açın.
  2. Üstteki arama çubuğundan my-blazor-group araması yapın.
  3. Grup adında öğesini seçin.
  4. Sil’i seçin.
  5. Silme eylemini onaylamak için Evet'i seçin.

Sonraki adımlar