Share via


VM Uygulamalarına genel bakış

VM Uygulamaları, Azure İşlem Galerisi'nde (eski adıyla Paylaşılan Görüntü Galerisi) sanal makineleriniz için uygulamaların yönetimini, paylaşımını ve genel dağıtımını kolaylaştıran bir kaynak türüdür.

Uygulamaların önceden yüklenmiş olduğu bir VM'nin görüntüsünü oluşturabilirsiniz ancak uygulama değişiklikleriniz her seferinde görüntünüzü güncelleştirmeniz gerekir. Uygulama yüklemenizi VM görüntülerinizden ayırmak, her kod satırı değişikliği için yeni bir görüntü yayımlamanıza gerek olmadığı anlamına gelir.

Uygulama paketleri, diğer dağıtım ve paketleme yöntemlerine göre avantajlar sağlar:

  • VM Uygulamaları Azure İlkeleri desteğine sahiptir

  • Paketlerinizi gruplandırma ve sürüm oluşturma

  • VM uygulamaları altyapınıza daha yakın olacak şekilde genel olarak çoğaltılabilir, bu nedenle bitleri Azure bölgeleri arasında kopyalamak için AzCopy veya diğer depolama kopyalama mekanizmalarını kullanmanız gerekmez.

  • Azure Rol Tabanlı Erişim Denetimi (RBAC) aracılığıyla diğer kullanıcılarla paylaşma

  • Sanal makineler ve hem esnek hem de tekdüzen ölçek kümeleri için destek

  • SANAL makinenizde veya ölçek kümenizde Ağ Güvenlik Grubu (NSG) kuralları uygulanmışsa, paketleri bir internet deposundan indirmek mümkün olmayabilir. Depolama hesaplarıyla paketlerin kilitli VM'lere indirilmesi için özel bağlantıların ayarlanması gerekir.

  • Blok Blobları desteği: Bu özellik, büyük dosyaların daha küçük, yönetilebilir bloklara bölünerek verimli bir şekilde işlenmesini sağlar. Büyük miktarda veri, akış ve arka plan karşıya yükleme için idealdir.

VM uygulama paketleri nedir?

VM uygulama paketleri birden çok kaynak türü kullanır:

Kaynak Tanım
Azure işlem galerisi Galeri, uygulama paketlerini yönetmeye ve paylaşmaya yönelik bir depodur. Kullanıcılar galeri kaynağını paylaşabilir ve tüm alt kaynaklar otomatik olarak paylaşılır. Galeri adı her abonelik için benzersiz olmalıdır. Örneğin, tüm işletim sistemi görüntülerinizi depolamak için bir galeriniz ve tüm VM uygulamalarınızı depolamak için başka bir galeriniz olabilir.
VM uygulaması VM uygulamanızın tanımı. Altındaki tüm sürümler için ortak meta verileri depolayan mantıksal bir kaynaktır. Örneğin, Apache Tomcat için bir uygulama tanımınız olabilir ve içinde birden çok sürüm olabilir.
VM Uygulaması sürümü Dağıtılabilir kaynak. VM uygulama sürümlerinizi, VM altyapınıza daha yakın olan hedef bölgelere genel olarak çoğaltabilirsiniz. VM Uygulama Sürümü, o bölgedeki bir VM'ye dağıtılmadan önce bir bölgeye çoğaltılmalıdır.

Sınırlamalar

  • Bölge başına en fazla 3 çoğaltma: VM Uygulaması sürümü oluştururken, bölge başına çoğaltma sayısı üst sınırı üçtür.

  • Genel erişim veya okuma ayrıcalığına sahip SAS URI'siyle Depolama: Depolama hesabının genel düzeyde erişimi olması veya okuma ayrıcalığı olan bir SAS URI'sini kullanması gerekir, diğer kısıtlama düzeyleri dağıtımlarda başarısız olur.

  • Başarısız yüklemeleri yeniden deneme: Şu anda, başarısız yüklemeyi yeniden denemenin tek yolu uygulamayı profilden kaldırmak ve sonra geri eklemektir.

  • VM başına yalnızca 25 uygulama: Herhangi bir noktada vm'ye en fazla 25 uygulama dağıtılamaz.

  • 2 GB uygulama boyutu: Uygulama sürümünün dosya boyutu üst sınırı 2 GB'tır.

  • Betiğinizde yeniden başlatma garantisi yok: Betiğiniz yeniden başlatma gerektiriyorsa, söz konusu uygulamanın dağıtım sırasında en son yerleştirilmesi önerilir. Kod yeniden başlatmaları işlemeye çalışsa da başarısız olabilir.

  • BIR VM Aracısı gerektirir: VM aracısı VM'de bulunmalı ve hedef durumlarını alabilmelidir.

  • Aynı vm'de aynı uygulamanın birden çok sürümü: Vm'de aynı uygulamanın birden çok sürümü olamaz.

  • Taşıma işlemleri şu anda desteklenmiyor: VM Uygulamaları ile VM'lerin diğer kaynak gruplarına taşınması şu anda desteklenmiyor.

Dekont

Azure İşlem Galerisi ve VM Uygulamaları için Depolama SAS çoğaltmadan sonra silinebilir.

Maliyet

VM Uygulama Paketlerini kullanmak için ek ücret alınmaz, ancak aşağıdaki kaynaklar için ücretlendirilirsiniz:

  • Her paketi ve çoğaltmayı depolama maliyetlerini Depolama.
  • İlk görüntü sürümünün kaynak bölgeden çoğaltılan bölgelere çoğaltılması için ağ çıkış ücretleri. Sonraki çoğaltmalar bölge içinde işlenir, bu nedenle ek ücret alınmaz.

Ağ çıkışı hakkında daha fazla bilgi için bkz . Bant genişliği fiyatlandırması.

VM uygulamaları

VM uygulama kaynağı, VM uygulamanız hakkında aşağıdakileri tanımlar:

  • VM uygulamasının depolandığı Azure İşlem Galerisi
  • Uygulamanın adı
  • Linux veya Windows gibi desteklenen işletim sistemi türü
  • VM uygulamasının açıklaması

VM uygulama sürümleri

VM uygulama sürümleri dağıtılabilir kaynaktır. Sürümler aşağıdaki özelliklerle tanımlanır:

  • Sürüm numarası
  • Depolama hesabındaki uygulama paketi dosyasına bağlantı
  • Uygulamayı yüklemek için yükleme dizesi
  • Uygulamanın düzgün bir şekilde nasıl kaldırılacağını göstermek için dizeyi kaldırma
  • Vm'ye indirildiğinde kullanılacak paket dosyası adı
  • Vm'de uygulamayı yapılandırmak için kullanılacak yapılandırma dosyası adı
  • Lisans dosyalarını ekleyebileceğiniz VM uygulamasının yapılandırma dosyasının bağlantısı
  • VM uygulamasını daha yeni bir sürüme güncelleştirmeye yönelik güncelleştirme dizesi
  • Yaşam sonu tarihi. Kullanım süresi sonu tarihleri bilgilendirilir; VM uygulama sürümlerini kullanım süresi sonu tarihinden sonra da dağıtabilirsiniz.
  • En son sürümden hariç tutun. Bir sürümün uygulamanın en son sürümü olarak kullanılmasını engelleyebilirsiniz.
  • Çoğaltma için hedef bölgeler
  • Bölge başına çoğaltma sayısı

Dizini indirme

Uygulama paketinin ve yapılandırma dosyalarının indirme konumu şunlardır:

  • Linux: /var/lib/waagent/Microsoft.CPlat.Core.VMApplicationManagerLinux/<appname>/<app version>
  • Windows: C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.9\Downloads\<appname>\<app version>

Yükleme/güncelleştirme/kaldırma komutları, uygulama paketinin ve yapılandırma dosyasının geçerli dizinde olduğu varsayılarak yazılmalıdır.

Dosya adlandırma

Uygulama dosyası VM'ye indirildiğinde, "MyVmApp" (uzantı yok) olarak yeniden adlandırılır. Bunun nedeni, VM'nin paketinizin özgün adını veya uzantısını bilmiyor olmasıdır. Sahip olduğu tek adı kullanır. Bu, uygulama adının kendisidir: "MyVmApp".

Bu sorunda gezinmek için birkaç alternatif aşağıda verilmiştir:

Betiğinizi, yürütmeden önce dosyayı yeniden adlandırmak için bir komut içerecek şekilde değiştirebilirsiniz:

move .\\MyVmApp .\\MyApp.exe & MyApp.exe /S

Dosyanızı yeniden adlandırmamız için bize neleri yeniden adlandırabileceğinizi bildirmek için (ve buna karşılık gelen configFileName) özelliğini de kullanabilirsiniz packageFileName . Örneğin, bunu "MyApp.exe" olarak ayarlamak, yükleme betiğinizin yalnızca şu şekilde olması gerekir:

MyAppe.exe /S

Bahşiş

Blobunuz başlangıçta "myapp" yerine "myApp.exe" olarak adlandırıldıysa yukarıdaki betik özelliği ayarlanmadan packageFileName çalışırdı.

Komut yorumlayıcı

Varsayılan komut yorumlayıcıları şunlardır:

  • Linux: /bin/bash
  • Windows: cmd.exe

Yürütülebilir dosyayı çağırıp komutu ona geçirerek, makinede yüklü olduğu sürece Chocolatey veya PowerShell gibi farklı bir yorumlayıcı kullanmak mümkündür. Örneğin, komutunuzun cmd yerine Windows üzerinde PowerShell'de çalıştırılmasını sağlamak için powershell.exe -Command '<powershell commmand>'

Güncelleştirmeler nasıl işlenir?

Vm veya Sanal Makine Ölçek Kümeleri bir uygulama sürümünü güncelleştirdiğinizde, dağıtım sırasında sağladığınız güncelleştirme komutu kullanılır. Güncelleştirilmiş sürümde güncelleştirme komutu yoksa geçerli sürüm kaldırılır ve yeni sürüm yüklenir.

Güncelleştirme komutları, VM uygulamasının herhangi bir eski sürümünden güncelleştirilebileceği beklentisiyle yazılmalıdır.

Linux'ta VM Uygulamaları oluşturmak için İpuçları

Linux için üçüncü taraf uygulamaları birkaç şekilde paketlenebilir. Şimdi en yaygın komutlardan bazıları için yükleme komutlarını oluşturma işleminin nasıl işleneceğini inceleyelim.

.tar ve .gz dosyaları

Bu dosyalar sıkıştırılmış arşivlerdir ve istenen konuma ayıklanabilir. Özgün paketin belirli bir konuma ayıklanması gerekebilecek yükleme yönergelerini denetleyin. .tar.gz dosyası kaynak kodu içeriyorsa, kaynaktan yüklemeyle ilgili paket yönergelerine bakın.

Linux makinesine yüklenecek komutu yükleme golang örneği:

sudo tar -C /usr/local -xzf go_linux

Örnek kaldır komutu:

sudo rm -rf /usr/local/go

Kısıtlı internet erişimine sahip VM'ler için , .rpmve diğer platforma özgü paketleri kullanarak .debuygulama paketleri oluşturma

Platforma özgü paket yöneticileri için tek tek paketleri indirebilirsiniz, ancak bunlar genellikle tüm bağımlılıkları içermez. Bu dosyalar için, uygulama paketine tüm bağımlılıkları da eklemeniz veya sistem paketi yöneticisinin vm'nin kullanabileceği depolar aracılığıyla bağımlılıkları indirmesini sağlamalısınız. İnternet erişimi kısıtlanmış bir VM ile çalışıyorsanız tüm bağımlılıkları kendiniz paketlemeniz gerekir.

Bağımlılıkları anlamak biraz zor olabilir. Bağımlılık ağacının tamamını gösterebilen üçüncü taraf araçlar vardır.

Ubuntu'da komutunu yürütürken sudo apt-get install <packge_name> yüklenen tüm paketleri göstermek için komutunu çalıştırabilirsinizsudo apt show <package_name> | grep Depends. Ardından bu çıkışı kullanarak tüm .deb dosyaları indirerek uygulama paketi olarak kullanılabilecek bir arşiv oluşturabilirsiniz.

  1. Örneğin, Ubuntu için PowerShell'i yüklemek üzere bir VM uygulama paketi oluşturmak için önce aşağıdaki komutları çalıştırarak PowerShell'in indirilebileceği depoyu etkinleştirin ve ayrıca yeni bir Ubuntu VM'sine yönelik paket bağımlılıklarını belirleyin.
# Download the Microsoft repository GPG keys
wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb
sudo rm -rf packages-microsoft-prod.deb
sudo apt update
sudo apt show powershell | grep Depends
  1. Aşağıdaki paketlerin listelendiği Depends satırının çıkışını denetleyin:
Depends: libc6, libgcc1, libgssapi-krb5-2, libstdc++6, zlib1g, libicu72|libicu71|libicu70|libicu69|libicu68|libicu67|libicu66|libicu65|libicu63|libicu60|libicu57|libicu55|libicu52, libssl3|libssl1.1|libssl1.0.2|libssl1.
  1. Kullanarak sudo apt-get download <package_name> bu dosyaların her birini indirin ve tüm dosyalarla tar sıkıştırılmış bir arşiv oluşturun.
  • Ubuntu 18.04:
mkdir /tmp/powershell
cd /tmp/powershell
sudo apt-get download libc6
sudo apt-get download libgcc1
sudo apt-get download libgssapi-krb5-2
sudo apt-get download libstdc++6
sudo apt-get download zlib1g
sudo apt-get download libssl1.1
sudo apt-get download libicu60
sudo apt-get download powershell
sudo tar -cvzf powershell.tar.gz *.deb
  • Ubuntu 20.04:
mkdir /tmp/powershell
cd /tmp/powershell
sudo apt-get download libc6
sudo apt-get download libgcc1
sudo apt-get download libgssapi-krb5-2
sudo apt-get download libstdc++6
sudo apt-get download zlib1g
sudo apt-get download libssl1.1
sudo apt-get download libicu66
sudo apt-get download powershell
sudo tar -cvzf powershell.tar.gz *.deb
  • Ubuntu 22.04:
mkdir /tmp/powershell
cd /tmp/powershell
sudo apt-get download libc6
sudo apt-get download libgcc1
sudo apt-get download libgssapi-krb5-2
sudo apt-get download libstdc++6
sudo apt-get download zlib1g
sudo apt-get download libssl3
sudo apt-get download libicu70
sudo apt-get download powershell
sudo tar -cvzf powershell.tar.gz *.deb
  1. Bu tar arşivi, uygulama paketi dosyasıdır.
  • Bu durumda install komutu şu şekildedir:
sudo tar -xvzf powershell.tar.gz && sudo dpkg -i *.deb
  • Remove komutu ise şu şekildedir:
sudo apt remove powershell

Tüm bağımlılıkları açıkça kaldırmaya çalışmak yerine kullanın sudo apt autoremove . Çakışan bağımlılıklara sahip başka uygulamalar yüklemiş olabilirsiniz ve bu durumda açık bir kaldırma komutu başarısız olur.

Bağımlılıkları kendiniz çözmek istemediğinizde ve apt depolara bağlanabiliyorsanız, tek .deb bir dosyayla bir uygulama yükleyebilir ve bağımlılıkları işlemeye izin vekleyebilirsiniz apt .

Örnek yükleme komutu:

dpkg -i <package_name> || apt --fix-broken install -y

Windows'ta VM Uygulamaları oluşturmak için İpuçları

Windows'taki çoğu üçüncü taraf uygulaması .exe veya .msi yükleyicileri olarak kullanılabilir. Bazıları zip dosyalarını ayıklama ve çalıştırma olarak da kullanılabilir. Her biri için en iyi yöntemlere göz atalım.

.exe yükleyicisi

Yükleyici yürütülebilir dosyaları genellikle bir kullanıcı arabirimi (UI) başlatır ve kullanıcının kullanıcı arabirimi üzerinden seçim gerçekleştirmesini gerektirir. Yükleyici sessiz mod parametresini destekliyorsa, yükleme dizenize eklenmelidir.

Cmd.exe ayrıca yürütülebilir dosyaların uzantısına .exesahip olmasını bekler, bu nedenle uzantıya sahip .exe olmak için dosyayı yeniden adlandırmanız gerekir.

için myApp.exeyürütülebilir dosya olarak gelen bir VM uygulama paketi oluşturmak istersem, VM Uygulamam 'myApp' olarak adlandırılır, bu nedenle uygulama paketinin geçerli dizinde olduğunu varsayarak komutunu yazıyorum:

"move .\\myApp .\\myApp.exe & myApp.exe /S -config myApp_config"

Yükleyici yürütülebilir dosyası bir kaldırma parametresini desteklemiyorsa bazen bir test makinesinde kayıt defterini arayabilir ve kaldırıcının burada bulunduğunu öğrenebilirsiniz.

Kayıt defterinde kaldırma dizesi içinde Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<installed application name>\UninstallString depolanır, bu nedenle kaldırma komutum olarak içeriğini kullanırım:

'\"C:\\Program Files\\myApp\\uninstall\\helper.exe\" /S'

.msi yükleyicisi

Yükleyicilerin komut satırı yürütmesi .msi için, bir uygulamayı yükleme veya kaldırma komutları kullanmalıdır msiexec. Genellikle, msiexec kendi ayrı işlemi olarak çalışır ve cmd tamamlanmasını beklemez ve bu da birden fazla VM uygulaması yüklenirken sorunlara yol açabilir. start komutu, komutu döndürmeden önce yüklemenin tamamlandığından emin olmak için ile msiexec birlikte kullanılabilir. Örnek:

start /wait %windir%\\system32\\msiexec.exe /i myapp /quiet /forcerestart /log myapp_install.log

Örnek kaldır komutu:

start /wait %windir%\\system32\\msiexec.exe /x $appname /quiet /forcerestart /log ${appname}_uninstall.log

Sıkıştırılmış dosyalar

.zip veya diğer sıkıştırılmış dosyalar için, uygulama paketinin içeriğini istediğiniz hedefe yeniden adlandırın ve sıkıştırmasını açın.

Örnek yükleme komutu:

rename myapp myapp.zip && mkdir C:\myapp && powershell.exe -Command "Expand-Archive -path myapp.zip -destinationpath C:\myapp"

Örnek kaldır komutu:

rmdir /S /Q C:\\myapp

Hatayı dağıtım hatası olarak değerlendir

VM uygulama uzantısı, herhangi bir VM uygulamasının yüklenirken/güncelleştirilirken/kaldırılırken başarısız olup olmadığına bakılmaksızın her zaman bir başarı döndürür. VM Uygulaması uzantısı yalnızca uzantı veya temel altyapıyla ilgili bir sorun olduğunda uzantı durumunu hata olarak bildirir. Bu davranış, varsayılan olarak olarak ayarlanmış $false ve olarak değiştirilebilen $true"hatayı dağıtım hatası olarak değerlendir" bayrağı tarafından tetiklenir. Hata bayrağı PowerShell veya CLI'da yapılandırılabilir.

VM Uygulamalarında Sorun Giderme

Belirli bir VM uygulamasının VM örneğine başarıyla eklenip eklenmediğini öğrenmek için VM Uygulaması uzantısının iletisini denetleyin.

VM uzantılarının durumunu alma hakkında daha fazla bilgi edinmek için bkz . Linux için sanal makine uzantıları ve özellikleri ve Windows için sanal makine uzantıları ve özellikleri.

VM uzantılarının durumunu almak için Get-AzVM kullanın:

Get-AzVM -name <VM name> -ResourceGroupName <resource group name> -Status | convertto-json -Depth 10

Ölçek kümesi uzantılarının durumunu almak için Get-AzVMSS kullanın:

$result = Get-AzVmssVM -ResourceGroupName $rgName -VMScaleSetName $vmssName -InstanceView
$resultSummary  = New-Object System.Collections.ArrayList
$result | ForEach-Object {
    $res = @{ instanceId = $_.InstanceId; vmappStatus = $_.InstanceView.Extensions | Where-Object {$_.Name -eq "VMAppExtension"}}
    $resultSummary.Add($res) | Out-Null
}
$resultSummary | convertto-json -depth 5

Hata iletileri

Mesaj Tanım
Geçerli VM Uygulama Sürümü {name} {date} tarihinde kullanım dışı bırakıldı. Zaten kullanım dışı bırakılmış bir VM Uygulaması sürümünü dağıtmayı denediniz. Belirli bir sürümü belirtmek yerine kullanmayı latest deneyin.
Geçerli VM Uygulama Sürümü {name}, {OS} işletim sistemini desteklerken, geçerli OSDisk'in işletim sistemi {OS}. Linux uygulamasını Windows örneğine dağıtmaya çalıştınız veya tam tersi oldu.
En fazla VM uygulaması sayısı (max=5, current={count}) aşıldı. Daha az uygulama kullanın ve isteği yeniden deneyin. Şu anda VM veya ölçek kümesi başına yalnızca beş VM uygulaması destekliyoruz.
Aynı packageReferenceId ile birden fazla VM Uygulaması belirtildi. Aynı uygulama birden çok kez belirtildi.
Abonelik bu görüntüye erişme yetkisine sahip değil. Aboneliğin bu uygulama sürümüne erişimi yok.
bağımsız değişkenlerinde Depolama hesabı yok. Bu abonelik için uygulama yok.
{image} platform görüntüsü kullanılamıyor. Depolama profilindeki tüm alanların doğru olduğunu doğrulayın. Depolama profili bilgileri hakkında daha fazla bilgi için bkz https://aka.ms/storageprofile. . Uygulama yok.
{image} galeri görüntüsü {region} bölgesinde kullanılamıyor. Bu bölgeye çoğaltmak veya istediğiniz bölgeyi değiştirmek için görüntü sahibine başvurun. Galeri uygulaması sürümü var, ancak bu bölgeye çoğaltılmış değil.
SAS{ uri} kaynak uri'sinde geçerli değil. Forbidden URL hakkında bilgi alınmaya çalışıldığında depolama alanından bir hata alındı (mediaLink veya defaultConfigurationLink).
{uri} kaynak uri'sinin başvurdığı blob yok. mediaLink veya defaultConfigurationLink özellikleri için sağlanan blob yok.
Galeri uygulaması sürüm url'si {url} şu hata nedeniyle erişilemiyor: uzak ad bulunamadı. Blob'un mevcut olduğundan ve genel olarak erişilebilir olduğundan veya okuma ayrıcalıklarına sahip bir SAS URL'si olduğundan emin olun. Büyük olasılıkla okuma ayrıcalıklarına sahip bir SAS uri'sinin sağlanmamış olmasıdır.
Galeri uygulaması sürüm url'si {url} şu hata nedeniyle erişilemiyor: {error description}. Blob'un mevcut olduğundan ve genel olarak erişilebilir olduğundan veya okuma ayrıcalıklarına sahip bir SAS URL'si olduğundan emin olun. Sağlanan depolama blobuyla ilgili bir sorun oluştu. Hata açıklaması daha fazla bilgi sağlar.
{application} işlemi silinmek üzere işaretlendiğinden {operationName} işlemine izin verilmiyor. Yalnızca Delete işlemini yeniden deneyebilirsiniz (veya devam eden bir işlemin tamamlanmasını bekleyebilirsiniz). Şu anda silinmiş olan bir uygulamayı güncelleştirmeyi deneme.
'galleryApplicationVersion.properties.publishingProfile.replicaCount' parametresinin {value} değeri aralık dışında. Değer, dahil olmak üzere bir ile üç arasında olmalıdır. VM Uygulaması sürümleri için yalnızca bir ile üç arasında çoğaltmaya izin verilir.
'galleryApplicationVersion.properties.publishingProfile.manageActions.install' özelliğinin değiştirilmesine izin verilmez. (veya güncelleştirin, silin) Mevcut bir VmApplication üzerindeki yönetim eylemlerinden herhangi birini değiştirmek mümkün değildir. Yeni bir VmApplication sürümü oluşturulmalıdır.
' galleryApplicationVersion.properties.publishingProfile.settings.packageFileName ' özelliğinin değiştirilmesine izin verilmez. (veya configFileName) Paket dosya adı veya yapılandırma dosyası adı gibi ayarları değiştirmek mümkün değildir. Yeni bir VmApplication sürümü oluşturulmalıdır.
{uri} kaynak uri'sinin başvurdığı blob çok büyük: boyut = {size}. İzin verilen blob boyutu üst sınırı '1 GB'tır. mediaLink veya defaultConfigurationLink tarafından başvurulan bir blob için en büyük boyut şu anda 1 GB'tır.
{uri} kaynak uri'sinin başvurmuş olduğu blob boş. Boş bir bloba başvuruldu.
{type} blob türü {operation} işlemi için desteklenmiyor. Yalnızca sayfa blobları ve blok blobları desteklenir. VmApplications yalnızca sayfa bloblarını ve blok bloblarını destekler.
SAS{ uri} kaynak uri'sinde geçerli değil. mediaLink veya defaultConfigurationLink için sağlanan SAS uri'si geçerli bir SAS uri'si değil.
Abonelikte gerekli {featureName} özelliği eksik olduğundan hedef bölgelerde {region} belirtilemiyor. Aboneliğinizi gerekli özelliğe kaydedin veya bölgeyi hedef bölge listesinden kaldırın. VmApplications'ı belirli kısıtlı bölgelerde kullanmak için bu abonelik için özellik bayrağının kayıtlı olması gerekir.
Galeri görüntüsü sürümü yayımlama profili bölgeleri {regions}, {location} görüntü sürümünün konumunu içermelidir. Çoğaltma bölgelerinin listesi, uygulama sürümünün bulunduğu konumu içermelidir.
Hedef yayımlama bölgelerinde yinelenen bölgelere izin verilmez. Yayımlama bölgelerinde yinelenen öğeler olmayabilir.
Galeri uygulaması sürüm kaynakları şu anda şifrelemeyi desteklemiyor. Hedef bölgelerin şifreleme özelliği VM Uygulamaları için desteklenmiyor
Varlık adı, istek URL'sindeki adla eşleşmiyor. İstek URL'sinde belirtilen galeri uygulaması sürümü, istek gövdesinde belirtilen sürümle eşleşmiyor.
Galeri uygulaması sürüm adı geçersiz. Uygulama sürümü adı Major(int32) değerini almalıdır. Minor(int32). Patch(int32) biçimi; burada int 0 ile 2.147.483.647 (dahil) arasındadır. örneğin, 1.0.0, 2018.12.1 vb. Galeri uygulaması sürümü belirtilen biçime uygun olmalıdır.

Sonraki adımlar