Aracılığıyla paylaş


Azure Container Apps'te ASP.NET Core uygulamasını dağıtma ve ölçeklendirme

Azure'a dağıtılan ve talebi karşılamak için ölçeklenebilirlikten aralıklı olarak yüksek talep yararlanan uygulamalar. Ölçeklenebilir uygulamalar, iş yükü artışları sırasında kapasiteyi güvence altına almak için ölçeği genişletebilir ve ardından tepe düştüğünde ölçeği otomatik olarak azaltarak maliyetleri düşürebilir. Yatay ölçeklendirme (ölçeği genişletme), vm'ler veya veritabanı çoğaltmaları gibi bir kaynağın yeni örneklerini ekler. Bu makalede, aşağıdaki görevleri tamamlayarak yatay olarak ölçeklenebilir bir ASP.NET Core uygulamasının Azure kapsayıcı uygulamalarına nasıl dağıtılacağı gösterilmektedir:

  1. Örnek projeyi ayarlama
  2. Uygulamayı Azure Container Apps'e dağıtma
  3. Uygulamayı ölçeklendirme ve sorun giderme
  4. Azure Hizmetleri oluşturma
  5. Azure hizmetlerini Bağlan
  6. Uygulamayı yapılandırma ve yeniden dağıtma

Bu makalede Sayfalar kullanılır Razor , ancak çoğu diğer ASP.NET Core uygulamaları için geçerlidir.

Bazı durumlarda temel ASP.NET Core uygulamaları özel dikkate alınmadan ölçeklendirilebilir. Ancak, belirli çerçeve özelliklerini veya mimari desenleri kullanan uygulamalar, aşağıdakiler de dahil olmak üzere ek yapılandırmalar gerektirir:

  • Güvenli form gönderimleri: Razor Sayfalar, MVC ve Web API'leri uygulamaları genellikle form gönderimlerini kullanır. Varsayılan olarak bu uygulamalar, isteklerin güvenliğini sağlamak için siteler arası sahte belirteçleri ve iç veri koruma hizmetlerini kullanır. Buluta dağıtıldığında, bu uygulamaların güvenli, merkezi bir konumda veri koruma hizmeti sorunlarını yönetecek şekilde yapılandırılması gerekir.

  • SignalR devreler: Blazor Server Uygulamaların güvenli bir şekilde ölçeklendirilmesi için merkezi bir Azure SignalR hizmetinin kullanılması gerekir. Bu hizmetler daha önce bahsedilen veri koruma hizmetlerini de kullanır.

  • Merkezi önbelleğe alma veya durum yönetimi hizmetleri: Ölçeklenebilir uygulamalar dağıtılmış önbelleğe alma sağlamak için Redis için Azure Cache kullanabilir. Birçok farklı uygulama örneğinde durumu yöneten uygulamalar yazmanıza yardımcı olabilecek Microsoft Orleans gibi çerçeveler için durum depolamak için Azure depolamaya ihtiyaç duyulabilir.

Bu makaledeki adımlarda, Azure Container Apps'e ölçeklenebilir bir uygulama dağıtarak önceki sorunları düzgün bir şekilde ele alma adımları gösterilmektedir. Bu öğreticideki kavramların çoğu, Azure Uygulaması Hizmet örnekleri ölçeklendirilirken de geçerlidir.

Örnek projeyi ayarlama

Bu öğreticiyi takip etmek için GitHub Explorer örnek uygulamasını kullanın. Aşağıdaki komutu kullanarak GitHub'dan uygulamayı kopyalayın:

git clone "https://github.com/dotnet/AspNetCore.Docs.Samples.git"

klasörüne /tutorials/scalable-razor-apps/start gidin ve dosyasını ScalableRazor.csprojaçın.

Örnek uygulama, GitHub depolarına ada göre göz atmak için bir arama formu kullanır. Form, sahteciliğe karşı endişeleri işlemek için yerleşik ASP.NET Core veri koruma hizmetlerine dayanır. Varsayılan olarak, uygulama Container Apps'te yatay olarak ölçeklendirildiğinde, veri koruma hizmeti bir özel durum oluşturur.

Uygulamayı test etme

  1. Visual Studio'da uygulamayı başlatın. Proje bir Docker dosyası içerir; başka bir deyişle, uygulamayı Docker Desktop kurulumu veya standart ASP.NET Core yerel web sunucusu kullanarak başlatmak için çalıştır düğmesinin yanındaki ok seçilebilir.

GitHub depolarına ada göre göz atmak için arama formunu kullanın.

A screenshot showing the GitHub Explorer app.

Uygulamayı Azure Container Apps'e dağıtma

Visual Studio, uygulamayı Azure Container Apps'e dağıtmak için kullanılır. Kapsayıcı uygulamaları, kapsayıcılı uygulamaları ve mikro hizmetleri barındırmayı basitleştirmek için tasarlanmış bir yönetilen hizmet sağlar.

Dekont

Uygulama için oluşturulan kaynakların çoğu bir konum gerektirir. Bu uygulama için konum önemli değildir. Gerçek bir uygulama, istemcilere en yakın konumu seçmelidir. Yakınınızda bir konum seçmek isteyebilirsiniz.

  1. Visual Studio çözüm gezgininde en üst düzey proje düğümüne sağ tıklayın ve Yayımla'yı seçin.

  2. Yayımlama iletişim kutusunda dağıtım hedefi olarak Azure'ı ve ardından İleri'yi seçin.

  3. Belirli bir hedef için Azure Container Apps (Linux) öğesini ve ardından İleri'yi seçin.

  4. Dağıtılacak yeni bir kapsayıcı uygulaması oluşturun. Yeni bir iletişim kutusu açmak için yeşil + simgeyi seçin ve aşağıdaki değerleri girin:

    A screenshot showing Visual Studio deployment.

    • Kapsayıcı uygulama adı: Varsayılan değeri bırakın veya bir ad girin.
    • Abonelik adı: Dağıtılacak aboneliği seçin.
    • Kaynak grubu: Yeni'yi seçin ve msdocs-scalable-razor adlı yeni bir kaynak grubu oluşturun.
    • Kapsayıcı uygulamaları ortamı: Kapsayıcı uygulamaları ortamı iletişim kutusunu açmak için Yeni'yi seçin ve aşağıdaki değerleri girin:
      • Ortam adı: Varsayılan değeri koruyun.
      • Konum: Size yakın bir konum seçin.
      • Azure Log Analytics Çalışma Alanı: Log Analytics çalışma alanı iletişim kutusunu açmak için Yeni'yi seçin.
        • Ad: Varsayılan değeri bırakın.
        • Konum: Size yakın bir konum seçin ve ardından tamam'ı seçerek iletişim kutusunu kapatın.
      • Kapsayıcı uygulamaları ortamı iletişim kutusunu kapatmak için Tamam'ı seçin.
    • Özgün kapsayıcı uygulamaları iletişim kutusunu kapatmak için Oluştur'u seçin. Visual Studio, Azure'da kapsayıcı uygulama kaynağını oluşturur.
  5. Kaynak oluşturulduktan sonra kapsayıcı uygulamaları listesinden seçildiğinden emin olun ve İleri'yi seçin.

  6. Uygulamanızın yayımlanmış görüntü yapıtını depolamak için bir Azure Container Registry oluşturmanız gerekir. Kapsayıcı kayıt defteri ekranında yeşil + simgeyi seçin.

    A screenshot showing how to create a new container registry.

  7. Varsayılan değerleri bırakın ve oluştur'u seçin.

    A screenshot showing the values for a new container registry.

  8. Kapsayıcı kayıt defteri oluşturulduktan sonra, seçili olduğundan emin olun ve ardından son'u seçerek iletişim kutusu iş akışını kapatın ve yayımlama profilinin özetini görüntüleyin.

    Visual Studio Yönetici kullanıcısının yayımlanan docker kapsayıcısına erişmesini isteyip istemediğinizi sorarsa Evet'i seçin.

  9. Uygulamayı Azure'a dağıtmak için yayımlama profili özetinin sağ üst kısmındaki Yayımla'yı seçin.

Dağıtım tamamlandığında, Visual Studio barındırılan uygulamayı görüntülemek için tarayıcıyı başlatır. Form alanında araması Microsoft yapılır ve depoların listesi görüntülenir.

Uygulamayı ölçeklendirme ve sorun giderme

Uygulama şu anda sorunsuz çalışıyor, ancak yüksek trafik hacmini tahmin etmek için uygulamayı daha fazla örnek arasında ölçeklendirmek istiyoruz.

  1. Azure portalında en üst düzey arama çubuğunda kapsayıcı uygulamasını arayın razorscaling-app-**** ve sonuçlardan seçin.
  2. Genel bakış sayfasında, sol gezinti bölmesinden Ölçek'i seçin ve ardından + Düzenle ve dağıt'ı seçin.
  3. Düzeltmeler sayfasında Ölçek sekmesine geçin.
  4. En düşük ve en yüksek örnekleri 4 olarak ayarlayın ve oluştur'u seçin. Bu yapılandırma değişikliği, uygulamanızın dört örnek arasında yatay olarak ölçeklendirileceğini garanti eder.

Uygulamaya geri dönün. Sayfa yüklendiğinde, ilk başta her şey düzgün çalışıyor gibi görünür. Ancak, bir arama terimi girildiğinde ve gönderildiğinde bir hata oluşabilir. Hata görüntülenmezse formu birkaç kez daha gönderin.

Hatayla ilgili sorunları giderme

Arama isteklerinin neden başarısız olduğu hemen belirgin değildir. Tarayıcı araçları 400 Hatalı İstek yanıtının geri gönderildiğini gösterir. Ancak, ortamınızda oluşan hataları tanılamak için kapsayıcı uygulamalarının günlük özelliklerini kullanabilirsiniz.

  1. Kapsayıcı uygulamasının genel bakış sayfasında sol gezinti bölmesinden Günlükler'i seçin.

  2. Günlükler sayfasında, açılan açılır menüyi kapatın ve Tablolar sekmesine gidin.

  3. ContainerAppConsoleLogs_CL düğümünü göstermek için Özel Günlükler öğesini genişletin. Bu tabloda, kapsayıcı uygulaması için sorunları gidermek için sorgulanabilecek çeşitli günlükler bulunur.

    A screenshot showing the container app logs.

  4. Sorgu düzenleyicisinde, ContainerAppConsoleLogs_CL Günlükleri tablosunda aşağıdaki betik gibi son özel durumlar için arama yapmak için temel bir sorgu oluşturabilirsiniz:

    ContainerAppConsoleLogs_CL
    | where Log_s contains "exception"
    | sort by TimeGenerated desc
    | limit 500
    | project ContainerAppName_s, Log_s
    

    Yukarıdaki sorgu, ContainerAppConsoleLogs_CL tablosunda özel durum sözcüğünü içeren satırları arar. Sonuçlar, oluşturulan zamana göre sıralanır, 500 sonuçla sınırlıdır ve sonuçların daha kolay okunmasını sağlamak için yalnızca ContainerAppName_s ve Log_s sütunlarını içerir.

  5. Çalıştır'ı seçtiğinizde bir sonuç listesi görüntülenir. Günlükleri okuyun ve çoğunun kötü amaçlı yazılımdan koruma belirteçleri ve şifreleme ile ilgili olduğunu unutmayın.

    A screenshot showing the logs query.

    Önemli

    Uygulamadaki hatalar .NET veri koruma hizmetlerinden kaynaklanıyor. Uygulamanın birden çok örneği çalıştırıldığında, formu göndermek için HTTP POST isteğinin başlangıçta HTTP GET isteğinden sayfayı yükleyen aynı kapsayıcıya yönlendirildiğinin garantisi yoktur. İstekler farklı örnekler tarafından işlenirse, kötü amaçlı yazılımdan koruma belirteçleri doğru işlenmez ve bir özel durum oluşur.

    Bu sorun, önümüzdeki adımlarda bir Azure depolama hizmetindeki veri koruma anahtarlarını merkezileştirerek ve Key Vault ile koruyarak çözülür.

Azure Hizmetleri oluşturma

Yukarıdaki hataları çözmek için aşağıdaki hizmetler oluşturulur ve uygulamaya bağlanır:

  • Azure Depolama Hesabı: Veri Koruma Hizmetleri için veri depolamayı işler. Uygulama ölçeklendikçe önemli verileri depolamak için merkezi bir konum sağlar. Depolama hesapları belgeleri, kuyruk verilerini, dosya paylaşımlarını ve hemen her tür blob verisini tutmak için de kullanılabilir.
  • Azure KeyVault: Bu hizmet bir uygulamanın gizli dizilerini depolar ve Veri Koruma Hizmetleri'nin şifreleme sorunlarını yönetmeye yardımcı olmak için kullanılır.

Depolama hesabı hizmetini oluşturma

  1. Azure portalı arama çubuğuna eşleşen sonucu girin Storage accounts ve seçin.
  2. Depolama hesapları listeleme sayfasında + Oluştur'u seçin.
  3. Temel Bilgiler sekmesinde aşağıdaki değerleri girin:
    • Abonelik: Kapsayıcı uygulaması için seçtiğiniz aboneliği seçin.
    • Kaynak Grubu: Daha önce oluşturduğunuz msdocs-scalable-razor kaynak grubunu seçin.
    • Depolama hesap adı: Hesabı scalablerazorstorageXXXX olarak adlandırın; burada X'ler seçtiğiniz rastgele sayılardır. Bu ad tüm Azure'da benzersiz olmalıdır.
    • Bölge: Daha önce seçtiğiniz bölgeyi seçin.
  4. Kalan değerleri varsayılan değerlerinde bırakın ve Gözden Geçir'i seçin. Azure girişleri doğruladıktan sonra Oluştur'u seçin.

Azure yeni depolama hesabını sağlar. Görev tamamlandığında, yeni hizmeti görüntülemek için Kaynağa git'i seçin.

Depolama kapsayıcısını oluşturma

Uygulamanın veri koruma anahtarlarını depolamak için bir Kapsayıcı oluşturun.

  1. Yeni depolama hesabının genel bakış sayfasında sol gezinti bölmesinden Depolama tarayıcıyı seçin.
  2. Blob kapsayıcıları'ı seçin.
  3. + Kapsayıcı ekle'yi seçerek Yeni kapsayıcı açılır menüsünü açın.
  4. Scalablerazorkeys adını girin, ayarların geri kalanını varsayılan değerlerinde bırakın ve oluştur'u seçin.

Yeni kapsayıcılar sayfa listesinde görünür.

Anahtar kasası hizmetini oluşturma

Blob depolama kapsayıcısında verileri koruyan anahtarları tutmak için bir anahtar kasası oluşturun.

  1. Azure portalı arama çubuğuna eşleşen sonucu girin Key Vault ve seçin.
  2. Anahtar kasası listeleme sayfasında + Oluştur'u seçin.
  3. Temel Bilgiler sekmesinde aşağıdaki değerleri girin:
    • Abonelik: Daha önce seçilmiş olan aboneliği seçin.
    • Kaynak Grubu: Daha önce oluşturulan msdocs-scalable-razor kaynak grubunu seçin.
    • Anahtar Kasası adı: scalablerazorvaultXXXX adını girin.
    • Bölge: Konumunuza yakın bir bölge seçin.
  4. Ayarların geri kalanını varsayılan ayarlarda bırakın ve gözden geçir ve oluştur'u seçin. Azure'ın ayarlarınızı doğrulamasını bekleyin ve oluştur'u seçin.

Azure yeni anahtar kasasını sağlar. Görev tamamlandığında, yeni hizmeti görüntülemek için Kaynağa git'i seçin.

Anahtarı oluşturma

Blob depolama hesabındaki verileri korumak için bir gizli anahtar oluşturun.

  1. Anahtar kasasının ana genel bakış sayfasında sol gezinti bölmesinde Anahtarlar'ı seçin.
  2. Anahtar oluştur sayfasında + Oluştur/İçeri Aktar'ı seçerek Anahtar oluştur açılır menüsünü açın.
  3. Ad alanına razorkey girin. Diğer ayarları varsayılan değerlerinde bırakın ve oluştur'u seçin. Anahtar listesi sayfasında yeni bir anahtar görünür.

Azure Hizmetleri'ni Bağlan

Container App, veri koruma hatalarını çözmek ve doğru ölçeklendirmek için depolama hesabına ve anahtar kasası hizmetlerine güvenli bir bağlantı gerektirir. Yeni hizmetler aşağıdaki adımlar kullanılarak birbirine bağlanır:

Önemli

Hizmet Bağlan veya diğer araçlar aracılığıyla güvenlik rolü atamalarının yayılması genellikle bir veya iki dakika sürer ve bazı nadir durumlarda sekiz dakikaya kadar sürebilir.

Depolama hesabını Bağlan

  1. Azure portalında Kapsayıcı Uygulamasına genel bakış sayfasına gidin.
  2. Sol gezinti bölmesinde Hizmet bağlayıcısı'nı seçin
  3. Hizmet Bağlan veya sayfasında + Oluştur'u seçerek Oluşturma Bağlan ion açılır penceresini açın ve aşağıdaki değerleri girin:
    • Kapsayıcı: Daha önce oluşturulan Kapsayıcı Uygulamasını seçin.
    • Hizmet türü: Depolama - blob'u seçin.
    • Abonelik: Daha önce kullanılan aboneliği seçin.
    • Bağlan ion adı: Varsayılan değeri bırakın.
    • Depolama hesabı: Daha önce oluşturulan depolama hesabını seçin.
    • İstemci türü: .NET'i seçin.
  4. Sonraki adıma geçmek için İleri: Kimlik doğrulaması'nı seçin.
  5. Sistem tarafından atanan yönetilen kimlik'i seçin ve İleri: Ağ'ı seçin.
  6. Varsayılan ağ seçeneklerini seçili bırakın ve gözden geçir + Oluştur'u seçin.
  7. Azure ayarları doğruladıktan sonra Oluştur'u seçin.

Hizmet bağlayıcısı, kapsayıcı uygulamasında sistem tarafından atanan yönetilen kimliği etkinleştirir. Ayrıca, depolama kapsayıcılarında veri işlemleri yapabilmesi için kimliğe Depolama Blob Veri Katkıda Bulunanı rolü atar.

Anahtar kasasını Bağlan

  1. Azure portalında Kapsayıcı Uygulamasına genel bakış sayfanıza gidin.
  2. Sol gezinti bölmesinde Hizmet bağlayıcısı'nı seçin.
  3. Hizmet Bağlan veya sayfasında + Oluştur'u seçerek Oluşturma Bağlan ion açılır penceresini açın ve aşağıdaki değerleri girin:
    • Kapsayıcı: Daha önce oluşturulan kapsayıcı uygulamasını seçin.
    • Hizmet türü: Key Vault'u seçin.
    • Abonelik: Daha önce kullanılan aboneliği seçin.
    • Bağlan ion adı: Varsayılan değeri bırakın.
    • Anahtar kasası: Daha önce oluşturulan anahtar kasasını seçin.
    • İstemci türü: .NET'i seçin.
  4. Sonraki adıma geçmek için İleri: Kimlik doğrulaması'nı seçin.
  5. Sistem tarafından atanan yönetilen kimlik'i seçin ve İleri: Ağ'ı seçin.
  6. Varsayılan ağ seçeneklerini seçili bırakın ve gözden geçir + Oluştur'u seçin.
  7. Azure ayarları doğruladıktan sonra Oluştur'u seçin.

Hizmet bağlayıcısı, anahtar kasası anahtarlarında veri işlemleri yapabilmesi için kimliğe bir rol atar.

Uygulamayı yapılandırma ve yeniden dağıtma

Gerekli Azure kaynakları oluşturuldu. Bu bölümde uygulama kodu yeni kaynakları kullanacak şekilde yapılandırılmıştır.

  1. Aşağıdaki NuGet paketlerini yükleyin:

    • Azure.Identity: Azure kimlik ve erişim yönetimi hizmetleriyle çalışmak için sınıflar sağlar.
    • Microsoft.Extensions.Azure: Temel Azure yapılandırmalarını gerçekleştirmek için yararlı uzantı yöntemleri sağlar.
    • Azure.Extensions.AspNetCore.DataProtection.Blobs: ASP.NET Core DataProtection anahtarlarının Azure Blob Depolama içinde depolanmasına izin verir, böylece anahtarlar bir web uygulamasının çeşitli örnekleri arasında paylaşılabilir.
    • Azure.Extensions.AspNetCore.DataProtection.Keys: Azure Key Vault Anahtar Şifreleme/Sarmalama özelliğini kullanarak bekleyen anahtarların korunmasını sağlar.
    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.Azure
    dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs
    dotnet add package Azure.Extensions.AspNetCore.DataProtection.Keys
    
  2. Aşağıdaki vurgulanmış kodla güncelleştirin Program.cs :

    using Azure.Identity;
    using Microsoft.AspNetCore.DataProtection;
    using Microsoft.Extensions.Azure;
    
    var builder = WebApplication.CreateBuilder(args);
    var BlobStorageUri = builder.Configuration["AzureURIs:BlobStorage"];
    var KeyVaultURI = builder.Configuration["AzureURIs:KeyVault"];
    
    builder.Services.AddRazorPages();
    builder.Services.AddHttpClient();
    builder.Services.AddServerSideBlazor();
    
    builder.Services.AddAzureClientsCore();
    
    builder.Services.AddDataProtection()
                    .PersistKeysToAzureBlobStorage(new Uri(BlobStorageUri),
                                                    new DefaultAzureCredential())
                    .ProtectKeysWithAzureKeyVault(new Uri(KeyVaultURI),
                                                    new DefaultAzureCredential());
    var app = builder.Build();
    
    if (!app.Environment.IsDevelopment())
    {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }
    
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    
    app.UseRouting();
    
    app.UseAuthorization();
    
    app.MapRazorPages();
    
    app.Run();
    

Önceki değişiklikler, uygulamanın merkezi, ölçeklenebilir bir mimari kullanarak veri korumasını yönetmesine olanak sağlar. DefaultAzureCredential uygulama yeniden dağıtıldığında daha önce etkinleştirilen yönetilen kimlik yapılandırmalarını bulur.

Dosyanın bölümündeki appsettings.json yer tutucuları AzureURIs aşağıdakileri içerecek şekilde güncelleştirin:

  1. Yer tutucuyu <storage-account-name> depolama hesabının adıyla scalablerazorstorageXXXX değiştirin.

  2. Yer tutucuyu <container-name> depolama kapsayıcısının scalablerazorkeys adıyla değiştirin.

  3. Yer tutucuyu <key-vault-name> anahtar kasasının scalablerazorvaultXXXX adıyla değiştirin.

  4. <key-name> Anahtar kasası URI'sindeki yer tutucuyu daha önce oluşturulan adla razorkey değiştirin.

    {
      "GitHubURL": "https://api.github.com",
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*",
      "AzureURIs": {
        "BlobStorage": "https://<storage-account-name>.blob.core.windows.net/<container-name>/keys.xml",
        "KeyVault": "https://<key-vault-name>.vault.azure.net/keys/<key-name>/"
      }
    }
    

Uygulamayı yeniden dağıtma

Uygulama artık daha önce oluşturulan Azure hizmetlerini kullanacak şekilde doğru yapılandırıldı. Uygulanacak kod değişiklikleri için uygulamayı yeniden dağıtın.

  1. Çözüm gezgininde proje düğümüne sağ tıklayın ve Yayımla'yı seçin.
  2. Yayımlama profili özet görünümünde sağ üst köşedeki Yayımla düğmesini seçin.

Visual Studio, uygulamayı daha önce oluşturulan kapsayıcı uygulamaları ortamına yeniden dağıtır. İşlemler tamamlandığında, tarayıcı uygulama giriş sayfasına başlar.

Arama alanında Microsoft'u arayarak uygulamayı yeniden test edin. Sayfa artık her gönderdiğinizde doğru sonuçlarla yeniden yüklenmelidir.

Yerel geliştirme için rolleri yapılandırma

Uygulamanın mevcut kodu ve yapılandırması, geliştirme sırasında yerel olarak çalışırken de çalışabilir. Daha DefaultAzureCredential önce yapılandırılan sınıf, Azure Hizmetleri'ne kimlik doğrulaması yapmak için yerel ortam kimlik bilgilerini alabilir. Kimlik doğrulamasının çalışması için aynı rolleri uygulamanızın yönetilen kimliğine atanmış olan kendi hesabınıza atamanız gerekir. Bu, Visual Studio'da veya Azure CLI'da oturum açmak için kullandığınız hesapla aynı olmalıdır.

Yerel geliştirme ortamınızda oturum açma

Kimlik bilgilerinizin tarafından alınması DefaultAzureCredentialiçin Azure CLI, Visual Studio veya Azure PowerShell'de oturum açmanız gerekir.

az login

Geliştirici hesabınıza rol atama

  1. Azure portalında, daha önce oluşturulan depolama hesabına gidin scalablerazor**** .
  2. Sol gezinti bölmesinden Erişim Denetimi (IAM) öğesini seçin.
  3. Açılan menüden + Ekle'yi ve ardından Rol ataması ekle'yi seçin.
  4. Rol ataması ekle sayfasında araması yapınStorage blob data contributor, eşleşen sonucu seçin ve ardından İleri'yi seçin.
  5. Kullanıcı, grup veya hizmet sorumlusu'nun seçili olduğundan emin olun ve + Üye seç'i seçin.
  6. Üyeleri seçin açılır penceresinde kendi user@domain hesabınızı arayın ve sonuçlardan seçin.
  7. İleri'yi ve ardından Gözden geçir ve ata'yı seçin. Azure ayarları doğruladıktan sonra Gözden geçir ve yeniden ata'yı seçin.

Daha önce belirtildiği gibi rol atama izinlerinin yayılması bir veya iki dakika sürebilir ya da nadir durumlarda sekiz dakikaya kadar sürebilir.

Hesabınıza anahtar kasası hizmetine ve gizli diziye erişebilmesi için bir rol atamak için önceki adımları yineleyin.

  1. Azure portalında daha önce oluşturulan anahtar kasasına razorscalingkeys gidin.
  2. Sol gezinti bölmesinden Erişim Denetimi (IAM) öğesini seçin.
  3. Açılan menüden + Ekle'yi ve ardından Rol ataması ekle'yi seçin.
  4. Rol ataması ekle sayfasında araması yapınKey Vault Crypto Service Encryption User, eşleşen sonucu seçin ve ardından İleri'yi seçin.
  5. Kullanıcı, grup veya hizmet sorumlusu'nun seçili olduğundan emin olun ve + Üye seç'i seçin.
  6. Üyeleri seçin açılır penceresinde kendi user@domain hesabınızı arayın ve sonuçlardan seçin.
  7. İleri'yi ve ardından Gözden geçir ve ata'yı seçin. Azure ayarlarınızı doğruladıktan sonra Gözden geçir ve ata'yı yeniden seçin.

Bu rol atamasını yaymak için yeniden beklemeniz gerekebilir.

Daha sonra Visual Studio'ya dönüp uygulamayı yerel olarak çalıştırabilirsiniz. Kod beklendiği gibi çalışmaya devam etmelidir. DefaultAzureCredential , Visual Studio veya Azure CLI'daki mevcut kimlik bilgilerinizi kullanır.

Güvenilir web uygulaması desenleri

İster sıfırdan ister mevcut bir uygulamayı yeniden düzenleme olsun, modern, güvenilir, performanslı, test edilebilir, uygun maliyetli ve ölçeklenebilir bir ASP.NET Core uygulaması oluşturma yönergeleri için YouTube videolarınıve makalesini for.NET Güvenilir Web Uygulaması Düzeni'nebakın.