Gambaran Umum Aplikasi mesin virtual

Aplikasi mesin virtual adalah jenis sumber daya di Azure Compute Gallery (sebelumnya dikenal sebagai Shared Image Gallery) yang menyederhanakan manajemen, berbagi, dan distribusi aplikasi global untuk mesin virtual Anda.

Meskipun Anda dapat membuat gambar VM dengan aplikasi yang telah diinstal sebelumnya, Anda harus memperbarui gambar setiap kali Anda memiliki perubahan aplikasi. Memisahkan penginstalan aplikasi dari gambar mesin virtual Anda berarti tidak perlu menerbitkan gambar baru untuk setiap garis perubahan kode.

Paket aplikasi memberikan keuntungan atas metode penyebaran dan pengemasan lainnya:

  • Aplikasi VM memiliki dukungan untuk Kebijakan Azure

  • Pengelompokan dan penerapan versi paket Anda

  • Aplikasi mesin virtual dapat direplikasi secara global agar lebih dekat dengan infrastruktur Anda, sehingga tidak perlu menggunakan AzCopy atau mekanisme salinan penyimpanan lainnya untuk menyalin bit di seluruh wilayah Azure.

  • Berbagi dengan pengguna lain melalui Kontrol Akses Berbasis Peran Azure (RBAC)

  • Dukungan untuk mesin virtual, dan set skala fleksibel dan seragam

  • Jika Anda memiliki aturan Kelompok Keamanan Jaringan (NSG) yang diterapkan pada mesin virtual atau set skala Anda, mengunduh paket dari repositori internet mungkin tidak dapat dilakukan. Dan dengan akun penyimpanan, mengunduh paket ke mesin virtual yang terkunci akan membutuhkan pengaturan tautan privat.

  • Dukungan untuk Blob Blok: Fitur ini memungkinkan penanganan file besar secara efisien dengan memecahnya menjadi blok yang lebih kecil dan dapat dikelola. Ideal untuk mengunggah sejumlah besar data, streaming, dan pengunggahan latar belakang.

Apa itu paket aplikasi mesin virtual?

Paket aplikasi mesin virtual menggunakan beberapa jenis sumber daya:

Sumber daya Deskripsi
Galeri komputasi Azure Galeri adalah repositori untuk mengelola dan berbagi paket aplikasi. Pengguna dapat berbagi sumber daya galeri dan semua sumber daya anak dibagikan secara otomatis. Nama galeri harus unik per langganan. Misalnya, Anda mungkin memiliki satu galeri untuk menyimpan semua gambar OS Anda dan galeri lain untuk menyimpan semua aplikasi mesin virtual Anda.
Aplikasi mesin virtual Definisi aplikasi mesin virtual Anda. Ini adalah sumber daya logika yang menyimpan metadata umum semua versi di bawahnya. Misalnya, Anda mungkin memiliki definisi aplikasi untuk Apache Tomcat dan memiliki beberapa versi di dalamnya.
Versi Aplikasi mesin virtual Sumber daya yang dapat disebarkan. Anda dapat mereplikasi versi aplikasi mesin virtual Anda secara global ke wilayah target yang lebih dekat ke infrastruktur mesin virtual Anda. Versi Aplikasi mesin virtual harus direplikasi ke suatu wilayah sebelum dapat disebarkan pada mesin virtual di wilayah tersebut.

Batasan

  • Tidak lebih dari 3 replika per wilayah: Saat Anda membuat versi Aplikasi VM, jumlah maksimum replika per wilayah adalah tiga.

  • Penyimpanan dengan akses publik atau SAS URI dengan hak istimewa baca: Akun penyimpanan harus memiliki akses tingkat publik atau menggunakan SAS URI dengan hak istimewa baca, karena tingkat pembatasan lainnya gagal penyebaran.

  • Mencoba kembali penginstalan yang gagal: Saat ini, satu-satunya cara untuk mencoba kembali penginstalan yang gagal adalah dengan menghapus aplikasi dari profil, lalu menambahkannya kembali.

  • Hanya 25 aplikasi per VM: Tidak lebih dari 25 aplikasi dapat disebarkan ke VM kapan saja.

  • Ukuran aplikasi 2GB: Ukuran file maksimum versi aplikasi adalah 2 GB.

  • Tidak ada jaminan pada reboot dalam skrip Anda: Jika skrip Anda memerlukan reboot, rekomendasinya adalah menempatkan aplikasi tersebut terakhir selama penyebaran. Upaya kode untuk meng-handel reboot mungkin gagal.

  • Membutuhkan Agen mesin virtual: Agen mesin virtual harus ada di mesin virtual dan dapat menerima status tujuan.

  • Beberapa versi aplikasi yang sama pada mesin virtual yang sama: Anda tidak dapat memiliki beberapa versi dari aplikasi yang sama pada satu mesin virtual.

  • Memindahkan operasi yang saat ini tidak didukung: Memindahkan VM dengan Aplikasi VM ke grup sumber daya lain saat ini tidak didukung.

Catatan

Untuk Azure Compute Gallery dan Aplikasi VM, Storage SAS dapat dihapus setelah replikasi.

Biaya

Tidak ada biaya tambahan untuk menggunakan Paket Aplikasi VM, tetapi Anda dikenakan biaya untuk sumber daya berikut:

  • Biaya Microsoft Azure Storage untuk menyimpan setiap paket dan replika apa pun.
  • Biaya keluar jaringan untuk replikasi versi gambar pertama dari wilayah sumber ke wilayah yang direplikasi. Replika berikutnya ditangani di wilayah tersebut, sehingga tidak ada biaya ekstra.

Untuk informasi selengkapnya tentang keluarnya jaringan, lihat Harga Bandwidth.

Aplikasi mesin virtual

Sumber daya aplikasi mesin virtual mendefinisikan hal-hal berikut tentang aplikasi mesin virtual Anda:

  • Azure Compute Gallery tempat aplikasi mesin virtual disimpan
  • Nama aplikasi
  • Jenis OS yang didukung seperti Linux atau Windows
  • Deskripsi aplikasi mesin virtual

Versi aplikasi mesin virtual

Versi aplikasi mesin virtual adalah sumber daya yang dapat disebarkan. Versi didefinisikan dengan properti berikut:

  • Nomor versi
  • Menautkan ke file paket aplikasi di akun penyimpanan
  • Memasang string untuk memasang aplikasi
  • Menghapus string untuk memperlihatkan cara menghapus aplikasi dengan benar
  • Nama file paket yang akan digunakan saat diunduh ke mesin virtual
  • Nama file konfigurasi yang digunakan untuk mengonfigurasi aplikasi pada mesin virtual
  • Link ke file konfigurasi untuk aplikasi VM, yang file lisensinya dapat disertakan
  • Memperbarui string untuk cara memperbarui aplikasi mesin virtual ke versi yang lebih baru
  • Tanggal akhir masa pakai. Tanggal akhir masa pakai bersifat informasi; Anda masih dapat menyebarkan versi aplikasi VM melewati tanggal akhir masa pakai.
  • Kecualikan dari yang terbaru. Anda dapat menyimpan sebuah versi agar tidak digunakan sebagai versi aplikasi terbaru.
  • Wilayah target untuk replikasi
  • Jumlah replika per wilayah

Direktori pengunduhan

Lokasi pengunduhan paket aplikasi dan file konfigurasi adalah:

  • 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>

Perintah pasang/perbarui/hapus harus ditulis dengan asumsi paket aplikasi dan file konfigurasi ada di direktori saat ini.

Penamaan file

Ketika file aplikasi diunduh ke VM, file tersebut diganti namanya menjadi "MyVmApp" (tanpa ekstensi). Ini karena VM tidak mengetahui nama atau ekstensi asli paket Anda. Ini menggunakan satu-satunya nama yang dimilikinya, yaitu nama aplikasi itu sendiri - "MyVmApp".

Berikut adalah beberapa alternatif untuk menavigasi masalah ini:

Anda dapat mengubah skrip untuk menyertakan perintah untuk mengganti nama file sebelum eksekusi:

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

Anda juga dapat menggunakan packageFileName properti (dan yang sesuai configFileName) untuk menginstruksikan kepada kami apa yang harus mengganti nama file Anda. Misalnya, mengaturnya ke "MyApp.exe" akan membuat skrip penginstalan Anda hanya perlu:

MyAppe.exe /S

Tip

Jika blob Anda awalnya bernama "myApp.exe" alih-alih "myapp", maka skrip di atas akan berfungsi tanpa mengatur packageFileName properti.

Penerjemah perintah

Penerjemah perintah default adalah:

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

Dimungkinkan untuk menggunakan penerjemah yang berbeda seperti Chocolatey atau PowerShell, selama diinstal di mesin, dengan memanggil executable dan meneruskan perintah ke sana. Misalnya, agar perintah Anda berjalan di PowerShell pada Windows alih-alih cmd, Anda dapat lolos powershell.exe -Command '<powershell commmand>'

Bagaimana pembaruan dihandel

Saat Anda memperbarui versi aplikasi pada VM atau Virtual Machine Scale Sets, perintah pembaruan yang Anda berikan selama penyebaran digunakan. Jika versi yang diperbarui tidak memiliki perintah pembaruan, maka versi saat ini dihapus dan versi baru diinstal.

Perintah pembaruan harus ditulis dengan harapan bahwa bisa diperbarui dari versi aplikasi mesin virtual yang lebih lama.

Tips untuk membuat Aplikasi mesin virtual di Linux

Aplikasi pihak ketiga untuk Linux dapat dipaketkan dalam beberapa cara. Mari kita jelajahi cara menghandel pembuatan perintah pasang untuk beberapa yang paling umum.

File .tar dan .gz

File-file ini adalah arsip terkompresi dan dapat diekstrak ke lokasi yang diinginkan. Periksa instruksi penginstalan untuk paket asli jika perlu diekstrak ke lokasi tertentu. Jika file .tar.gz berisi kode sumber, lihat instruksi untuk paket tentang cara menginstal dari sumber.

Contoh memasang perintah penginstalan golang pada komputer Linux:

sudo tar -C /usr/local -xzf go_linux

Contoh menghapus perintah:

sudo rm -rf /usr/local/go

Membuat paket aplikasi menggunakan .deb, .rpm, dan paket khusus platform lainnya untuk VM dengan akses internet terbatas

Anda dapat mengunduh paket individual untuk pengelola paket khusus platform, tetapi paket tersebut biasanya tidak berisi semua dependensi. Untuk file ini, Anda juga harus menyertakan semua dependensi dalam paket aplikasi, atau meminta pengelola paket sistem mengunduh dependensi melalui repositori yang tersedia untuk mesin virtual. Jika Anda bekerja menggunakan mesin virtual dengan akses internet terbatas, Anda harus mengemas sendiri semua dependensi.

Mencari tahu dependensi dapat sedikit rumit. Ada alat pihak ketiga yang dapat menunjukkan kepada Anda seluruh pohon dependensi.

Di Ubuntu, Anda dapat menjalankan sudo apt show <package_name> | grep Depends untuk menampilkan semua paket yang diinstal saat menjalankan sudo apt-get install <packge_name> perintah. Kemudian Anda dapat menggunakan output tersebut untuk mengunduh semua .deb file untuk membuat arsip yang dapat digunakan sebagai paket aplikasi.

  1. Misalnya, untuk membuat paket aplikasi VM untuk menginstal PowerShell untuk Ubuntu, pertama-tama jalankan perintah berikut untuk mengaktifkan repositori tempat PowerShell dapat diunduh dan juga untuk mengidentifikasi dependensi paket pada VM Ubuntu baru.
# 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. Periksa output baris Tergantung yang mencantumkan paket berikut:
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. Unduh masing-masing file ini menggunakan sudo apt-get download <package_name> dan buat arsip terkompresi tar dengan semua file.
  • 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. Arsip tar ini adalah file paket aplikasi.
  • Perintah penginstalan dalam kasus ini adalah:
sudo tar -xvzf powershell.tar.gz && sudo dpkg -i *.deb
  • Dan perintah penghapusan adalah:
sudo apt remove powershell

Gunakan sudo apt autoremove alih-alih secara eksplisit mencoba menghapus semua dependensi. Anda mungkin telah memasang aplikasi lain dengan dependensi yang tumpang tindih, dan dalam kasus ini, perintah penghapusan eksplisit akan gagal.

Jika Anda tidak ingin menyelesaikan dependensi sendiri, dan apt dapat terhubung ke repositori, Anda dapat menginstal aplikasi hanya dengan satu .deb file dan membiarkan apt menangani dependensi.

Contoh perintah penginstalan:

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

Tips untuk membuat Aplikasi mesin virtual di Windows

Sebagian besar aplikasi pihak ketiga di Windows tersedia sebagai alat penginstal .exe atau .msi. Beberapa juga tersedia sebagai ekstrak dan menjalankan file zip. Mari kita lihat praktik terbaik untuk masing-masing dari aplikasi pihak ketiga.

Alat penginstal .exe

Alat penginstal executable biasanya meluncurkan antarmuka pengguna (UI) dan mengharuskan seseorang untuk memilih melalui UI. Jika alat penginstal mendukung parameter mode diam, alat tersebut harus dimasukkan dalam string penginstalan Anda.

Cmd.exe juga mengharapkan file yang dapat dieksekusi memiliki ekstensi .exe, jadi Anda perlu mengganti nama file agar memiliki .exe ekstensi.

Jika saya ingin membuat paket aplikasi VM untuk myApp.exe, yang dikirim sebagai executable, Aplikasi VM saya disebut 'myApp', jadi saya menulis perintah dengan asumsi paket aplikasi berada di direktori saat ini:

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

Jika file executable alat penginstal tidak mendukung parameter hapus instalan, terkadang Anda dapat mencari registri pada komputer uji untuk mengetahui di sini alat penghapus instalan berada.

Di registri, string hapus instalan disimpan di Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<installed application name>\UninstallString jadi saya akan menggunakan konten sebagai perintah hapus saya:

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

Alat penginstal .msi

Untuk eksekusi baris perintah .msi alat penginstal, perintah untuk memasang atau menghapus aplikasi harus menggunakan msiexec. Biasanya, msiexec berjalan sebagai proses terpisah dan cmd tidak menunggu untuk menyelesaikannya, yang dapat menyebabkan masalah ketika memasang lebih dari satu aplikasi mesin virtual. Perintah start dapat digunakan dengan msiexec untuk memastikan penginstalan selesai sebelum perintah dihasilkan. Contohnya:

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

Contoh menghapus perintah:

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

Berkas zipped

Untuk .zip atau file zip lainnya, ganti nama dan unzip isi paket aplikasi ke tujuan yang diinginkan.

Contoh perintah penginstalan:

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

Contoh menghapus perintah:

rmdir /S /Q C:\\myapp

Perlakukan kegagalan sebagai kegagalan penyebaran

Ekstensi aplikasi mesin virtual selalu mengembalikan berhasil terlepas dari apakah ada aplikasi mesin virtual yang gagal saat dipasang/diperbarui/dihapus. Ekstensi Aplikasi VM hanya melaporkan status ekstensi sebagai kegagalan ketika ada masalah dengan ekstensi atau infrastruktur yang mendasar. Perilaku ini dipicu oleh bendera "perlakukan kegagalan sebagai kegagalan penyebaran", yang diatur ke $false secara default dan dapat diubah menjadi $true. Bendera kegagalan dapat dikonfigurasi di PowerShell atau CLI.

Pemecahan masalah Aplikasi mesin virtual

Untuk mengetahui apakah aplikasi mesin virtual tertentu berhasil ditambahkan ke instans mesin virtual, periksa pesan ekstensi VM Application.

Untuk mempelajari selengkapnya tentang mendapatkan status ekstensi mesin virtual, lihat Ekstensi dan fitur mesin virtual untuk Linux dan Ekstensi dan fitur mesin virtual untuk Windows.

Untuk mendapatkan status ekstensi mesin virtual, gunakan Get-AzVM:

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

Untuk mendapatkan status ekstensi set skala, gunakan Get-AzVM:

$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

Pesan kesalahan

Pesan Deskripsi
Aplikasi Mesin Virtual Versi {name} saat ini tidak digunakan lagi pada {date}. Anda mencoba menyebarkan versi Aplikasi mesin virtual yang telah usang. Coba gunakan latest alih-alih menentukan versi tertentu.
Aplikasi Mesin Virtual Versi {name} saat ini mendukung OS {OS}, sementara OS OSDisk saat ini adalah {OS}. Anda mencoba menyebarkan aplikasi Linux untuk instans Windows atau sebaliknya.
Jumlah maksimum aplikasi mesin virtual (max=5, current={count}) telah terlampaui. Gunakan lebih sedikit aplikasi dan coba kembali permintaannya. Saat ini kami hanya mendukung lima aplikasi mesin virtual per mesin virtual atau set skala.
Lebih dari satu VM Application ditentukan dengan packageReferenceId yang sama. Aplikasi yang sama ditentukan lebih dari sekali.
Langganan tidak diotorisasi untuk mengakses gambar ini. Langganan tidak memiliki akses ke versi aplikasi ini.
Akun penyimpanan dalam argumen tidak ada. Tidak ada aplikasi untuk langganan ini.
Gambar platform {image} tidak tersedia. Verifikasi bahwa semua bidang di profil penyimpanan sudah benar. Untuk detail selengkapnya tentang informasi profil penyimpanan, lihat https://aka.ms/storageprofile. Aplikasi tidak ada.
Gambar galeri {image} tidak tersedia di wilayah {region}. Hubungi pemilik gambar untuk mereplikasi ke wilayah ini, atau ubah wilayah yang Anda minta. Versi aplikasi galeri ada, tetapi tidak direplikasi ke wilayah ini.
SAS tidak valid untuk uri sumber {uri}. Kesalahan Forbidden diterima dari penyimpanan ketika berupaya untuk mengambil informasi tentang url (baik mediaLink atau pun defaultConfigurationLink).
Blob yang dirujuk oleh uri sumber {uri} tidak ada. Blob yang disediakan untuk mediaLink atau properti defaultConfigurationLink tidak ada.
Url versi aplikasi galeri {url} tidak dapat diakses karena kesalahan berikut: nama jarak jauh tidak ditemukan. Pastikan bahwa blob ada dan dapat diakses publik atau merupakan url SAS dengan hak istimewa baca. Kasus yang paling mungkin adalah bahwa uri SAS dengan hak istimewa baca tidak disediakan.
Url versi aplikasi galeri {url} tidak dapat diakses karena kesalahan berikut: {error description}. Pastikan bahwa blob ada dan dapat diakses publik atau merupakan url SAS dengan hak istimewa baca. Terdapat masalah dengan blob penyimpanan yang disediakan. Deskripsi kesalahan menyediakan informasi lebih lanjut.
Operasi {operationName} tidak diizinkan pada {application} karena ditandai untuk dihapus. Anda hanya dapat mencoba kembali operasi Hapus (atau menunggu yang sedang berlangsung selesai). Coba perbarui aplikasi yang saat ini sedang dihapus.
Nilai {value} parameter 'galleryApplicationVersion.properties.publishingProfile.replicaCount' berada di luar rentang. Nilai harus antara satu dan tiga, inklusif. Hanya antara satu dan tiga replika yang diizinkan untuk versi Aplikasi VM.
Mengubah properti 'galleryApplicationVersion.properties.publishingProfile.manageActions.install' tidak diizinkan. (atau perbarui, hapus) Tidak dimungkinkan untuk mengubah salah satu tindakan kelola pada VmApplication yang ada. Versi VmApplication baru harus dibuat.
Mengubah properti ' galleryApplicationVersion.properties.publishingProfile.settings.packageFileName ' tidak diizinkan. (atau configFileName) Tidak dimungkinkan untuk mengubah pengaturan apa pun, seperti nama file paket atau nama file konfigurasi. Versi VmApplication baru harus dibuat.
Blob yang dirujuk oleh uri sumber {uri} terlalu besar: ukuran = {size}. Ukuran blob maksimum yang diperbolehkan adalah '1 GB'. Ukuran maksimum untuk blob yang dirujuk oleh mediaLink atau defaultConfigurationLink saat ini adalah 1 GB.
Blob yang dirujuk oleh sumber uri {uri} kosong. Sebuah blob kosong dirujuk.
Tipe blob {type} tidak didukung untuk operasi {operation}. Hanya blob halaman dan blob blok yang didukung. VmApplications hanya mendukung blob halaman dan blob blok.
SAS tidak valid untuk uri sumber {uri}. Uri SAS yang disediakan untuk mediaLink atau defaultConfigurationLink bukan uri SAS yang valid.
Tidak dapat menentukan {region} di wilayah target karena langganan tidak memiliki fitur yang diperlukan {featureName}. Daftarkan langganan Anda dengan fitur yang diperlukan atau hapus wilayah dari daftar wilayah target. Untuk menggunakan VmApplications di wilayah tertentu yang dibatasi, seseorang harus memiliki bendera fitur yang terdaftar untuk langganan tersebut.
Versi gambar galeri yang menerbitkan wilayah profil {regions} harus berisi lokasi versi gambar {location}. Daftar wilayah untuk replikasi harus berisi lokasi tempat versi aplikasi berada.
Wilayah duplikat tidak diizinkan di wilayah penerbitan target. Wilayah penerbitan mungkin tidak memiliki duplikat.
Sumber daya versi aplikasi galeri saat ini tidak mendukung enkripsi. Properti enkripsi untuk wilayah target tidak didukung untuk Aplikasi VM
Nama entitas tidak cocok dengan nama dalam URL permintaan. Versi aplikasi galeri yang ditentukan dalam url permintaan tidak cocok dengan yang ditentukan dalam isi permintaan.
Nama versi aplikasi galeri tidak valid. Nama versi aplikasi harus mengikuti Major(int32). Minor(int32). Format Patch(int32), di mana int antara 0 dan 2.147.483.647 (inklusif). misalnya, 1.0.0, 2018.12.1 dll. Versi aplikasi galeri harus mengikuti format yang ditentukan.

Langkah berikutnya