Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
VM-program är en resurstyp i Azure Compute Gallery som ger en modern, flexibel metod för att hantera och distribuera program på dina virtuella datorer och skalningsuppsättningar. Genom att koppla bort programinstallationen från dina grundläggande VM-avbildningar kan du effektivisera uppdateringar, minska kostnaderna för avbildningsunderhåll och påskynda distributionscyklerna. Den här metoden eliminerar behovet av att återskapa och publicera om vm-avbildningar för varje programändring, vilket möjliggör snabbare iteration och större flexibilitet i driften. VM-program passar bäst för att distribuera AI, hög skala, låg svarstid, mikrotjänster, säkra och kompatibla arbetsbelastningar på virtuella Azure-datorer.
Resurs | beskrivning |
---|---|
Azure Compute-galleri | Ett galleri är en lagringsplats för hantering och delning av programpaket. Användare kan dela galleriresursen och alla underordnade resurser delas automatiskt. Gallerinamnet måste vara unikt per prenumeration. Du kan till exempel ha ett galleri för att lagra alla os-avbildningar och ett annat galleri för att lagra alla dina vm-program. |
VM-applikation | Definitionen av ditt VM-program. Det är en logisk resurs som lagrar vanliga metadata för alla versioner under den. Du kan till exempel ha en programdefinition för Apache Tomcat och ha flera versioner i den. |
Version av VM-program | Den distribuerbara resurs som innehåller programpaketet och versionsspecifika konfigurationer. Du kan globalt replikera dina vm-programversioner till målregioner närmare den virtuella datorns infrastruktur. Den virtuella datorns programversion måste replikeras till en region innan den kan distribueras på en virtuell dator i den regionen. |
Lagringskonto | Programpaket laddas först upp till ditt lagringskonto. Azure Compute Gallery laddar sedan ned programpaketet från det här lagringskontot med hjälp av SAS-URL:er och lagrar det i den virtuella datorns programversion. Azure Compute Gallery replikerar också det här paketet mellan regioner och regionala repliker enligt definitionen för VM-programversion. Programpaketet i lagringskontot kan tas bort när vm-programversionen har skapats i Azure Compute Gallery. |
Viktiga fördelar:
-
Centraliserad och flexibel programhantering:
- Paket en gång, distribuera var som helst: Paketprogram i ZIP-, MSI- (Microsoft Package Installed) eller EXE-format och hantera dem centralt i Azure Compute Gallery.
- Versionskontroll: Distribuera antingen den senaste eller en specifik version genom att underhålla flera versioner av varje program.
-
Sömlös delning och åtkomstkontroll
- Tenant-Wide Delning: Dela program i team eller i hela organisationen (klientorganisationen).
- Integrerad RBAC: Kontrollera publicerings- och distributionsåtkomst med hjälp av Azure Role-Based Access Control (RBAC).
-
Tillförlitliga och anpassningsbara distributioner
- Enskild programkontroll: Installera, uppdatera eller ta bort program oberoende av varandra – du behöver inte återskapa vm-avbildningar.
- Anpassningsbara åtgärder: Anpassa installations-, uppdaterings- och borttagningsåtgärder för program, inklusive omstartshantering.
- Built-In Felhantering: Säkerställ resilienta distributioner genom att ansluta VM-programfel till VM-fel.
-
Skalbarhet och Low-Latency-distribution
- Global och Intra-Region Replikering: Replikera program automatiskt mellan och inom regioner för att minska svarstiden och förbättra återhämtning – inget behov av AzCopy eller manuella överföringar.
- Optimerad för High-Scale-scenarier: Uppnå låg skapafördröjning även vid storskaliga distributioner.
-
Säker och kompatibel enligt design
- Principdriven tillämpning: Använd Azure Policy för att framtvinga programnärvaro och konfiguration i hela flottan.
- Säkra distributioner: Undvik Internetbaserade nedladdningar och komplexa konfigurationer av privata länkar som inte är idealiska för låsta eller säkra miljöer.
-
Omfattande plattformsstöd
- Virtuella datorer och skalningsuppsättningar: Distribuera till enskilda virtuella datorer, flexibla skalningsuppsättningar eller enhetliga skalningsuppsättningar med fullständigt stöd.
- Stöd för blockblob: Hantera effektivt stora programpaket (upp till 2 GB) med hjälp av Azure Block Blobs för segmenterade uppladdningar och bakgrundsströmning.
VM-applikationer och VM-applikationers versionresurs
Vm-programresursen definierar följande om ditt VM-program:
- Azure Compute-galleri där det virtuella datorprogrammet lagras
- Namnet på programmet
- Operativsystemtyp som stöds som Linux eller Windows
- En beskrivning av det virtuella datorprogrammet
Vm-programversioner är den distributionsbara resursen. Versioner definieras med följande egenskaper:
- Versionsnummer
- Länka till programpaketfilen i ett lagringskonto
- Installationssträngen för att korrekt installera programmet
- Ta bort kodsträngen för att korrekt ta bort applikationen
- Uppdatera strängen för att uppdatera det virtuella datorprogrammet till en nyare version
- Paketfilnamn som ska användas när paketet laddas ned till den virtuella datorn.
- Konfigurationsfilnamn som ska användas för att konfigurera programmet på den virtuella datorn
- En länk till konfigurationsfilen för det virtuella datorprogrammet, som du kan inkludera licensfiler
- Slutdatum. Slutdatum är informationsbaserade. du kan fortfarande distribuera vm-programversioner efter slutdatumet.
- Exkludera från senaste. Du kan förhindra att en version används som den senaste versionen av programmet.
- Målregioner för replikering
- Antal repliker per region
{
"$schema": "https://schema.management.azure.com/schemas/2020-06-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"galleryName": {
"type": "string"
},
"applicationName": {
"type": "string"
},
"versionName": {
"type": "string",
"metadata": {
"description": "Must follow the format: major.minor.patch (e.g., 1.0.0)"
}
},
"location": {
"type": "string",
"defaultValue": "West US"
},
"supportedOSType": {
"type": "string",
"allowedValues": ["Windows", "Linux"]
},
"endOfLifeDate": {
"type": "string"
},
"description": {
"type": "string",
"defaultValue": "Description of the application"
},
"eula": {
"type": "string",
"defaultValue": ""
},
"privacyStatementUri": {
"type": "string",
"defaultValue": ""
},
"releaseNoteUri": {
"type": "string",
"defaultValue": ""
},
"mediaLink": {
"type": "string"
},
"configLink": {
"type": "string"
},
"appConfigFileName": {
"type": "string"
},
"appPackageFileName": {
"type": "string"
},
"replicaRegion1": {
"type": "string",
"defaultValue": "East US"
},
"replicaRegion2": {
"type": "string",
"defaultValue": "South Central US"
},
"installScript": {
"type": "string",
"metadata": {
"description": "Optional. Script to run to install the application. E.g. echo 'Installing application...'"
}
},
"updateScript": {
"type": "string",
"metadata": {
"description": "Optional. Script to run to update the application. E.g. echo 'Updating application...'"
}
},
"removeScript": {
"type": "string",
"metadata": {
"description": "Optional. Script to run to delete the application. E.g. echo 'Deleting application...'"
}
},
"storageAccountType": {
"type": "string",
"allowedValues": ["PremiumV2_LRS", "Premium_LRS", "Standard_LRS", "Standard_ZRS"],
"defaultValue": "Standard_LRS"
}
},
"resources": [
{
"type": "Microsoft.Compute/galleries",
"apiVersion": "2024-03-03",
"name": "[parameters('galleryName')]",
"location": "[parameters('location')]",
"properties": {
"identifier": {}
}
},
{
"type": "Microsoft.Compute/galleries/applications",
"apiVersion": "2024-03-03",
"name": "[format('{0}/{1}', parameters('galleryName'), parameters('applicationName'))]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Compute/galleries', parameters('galleryName'))]"
],
"properties": {
"supportedOSType": "[parameters('supportedOSType')]",
"endOfLifeDate": "[parameters('endOfLifeDate')]",
"description": "[parameters('description')]",
"eula": "[if(equals(parameters('eula'), ''), json('null'), parameters('eula'))]",
"privacyStatementUri": "[if(equals(parameters('privacyStatementUri'), ''), json('null'), parameters('privacyStatementUri'))]",
"releaseNoteUri": "[if(equals(parameters('releaseNoteUri'), ''), json('null'), parameters('releaseNoteUri'))]"
}
},
{
"type": "Microsoft.Compute/galleries/applications/versions",
"apiVersion": "2024-03-03",
"name": "[format('{0}/{1}/{2}', parameters('galleryName'), parameters('applicationName'), parameters('versionName'))]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Compute/galleries/applications', parameters('galleryName'), parameters('applicationName'))]"
],
"properties": {
"publishingProfile": {
"source": {
"mediaLink": "[parameters('mediaLink')]",
"defaultConfigurationLink": "[parameters('configLink')]"
},
"manageActions": {
"install": "[parameters('installScript')]",
"remove": "[parameters('removeScript')]",
"update": "[parameters('updateScript')]"
},
"settings": {
"scriptBehaviorAfterReboot": "Rerun",
"configFileName": "[parameters('appConfigFileName')]",
"packageFileName": "[parameters('appPackageFileName')]"
},
"targetRegions": [
{
"name": "[parameters('location')]",
"regionalReplicaCount": 3,
"storageAccountType": "[parameters('storageAccountType')]"
},
{
"name": "[parameters('replicaRegion1')]",
"regionalReplicaCount": 1,
"storageAccountType": "[parameters('storageAccountType')]"
},
{
"name": "[parameters('replicaRegion2')]"
},
],
"excludeFromLatest": false,
"replicaCount": 2,
"storageAccountType": "[parameters('storageAccountType')]"
},
"safetyProfile": {
"allowDeletionOfReplicatedLocations": true
},
"endOfLifeDate": "[parameters('endOfLifeDate')]"
}
}
]
}
Kostnad
Det kostar inget extra för att använda programpaket för virtuella datorer, men du debiteras för följande resurser:
- Lagringskostnader för lagring av varje paket och eventuella repliker.
- Avgifter för utgående nätverk för replikering av den första avbildningsversionen från källregionen till de replikerade regionerna. Efterföljande repliker hanteras i regionen, så det finns inga extra avgifter.
Mer information om nätverksutgående information finns i Bandbreddspriser.
Teknisk information
Överväganden och aktuella gränser
Upp till 10 repliker per region: När du skapar en version av ett virtuellt datorprogram är det maximala antalet repliker per region 10 för både sidblob och blockblob.
Lagring med offentlig åtkomst och SAS-URI med läsbehörighet: Lagringskontot måste ha åtkomst på offentlig nivå och använda en SAS-URI med läsbehörighet, eftersom andra begränsningsnivåer misslyckas med distributioner. SAS-token kan kringgås genom att publicera artefakten på lagringskontot genom att tillåta anonym åtkomst.
Manuellt återförsök för misslyckade installationer: För närvarande är det enda sättet att försöka igen en misslyckad installation att ta bort programmet från profilen och sedan lägga till det igen.
Upp till 25 program per virtuell dator: Högst 25 program kan distribueras till en enda virtuell dator.
2 GB programstorlek: Den maximala filstorleken för en programversion
mediaLink
är 2 GB. Den maximala filstorleken fördefaultConfigurationLink
är 1 GB.Kräver en VM-agent: VM-agenten måste finnas på den virtuella datorn och kunna ta emot måltillstånd.
Enskild version av programmet per virtuell dator: Endast en version av ett visst program kan distribueras till en virtuell dator.
Flyttåtgärder stöds för närvarande inte: Flytt av virtuella datorer med associerade VM-program mellan resursgrupper stöds för närvarande inte.
Kommentar
För Azure Compute-galleri- och VM-program kan SAS för lagring tas bort efter replikering. En efterföljande uppdateringsåtgärd kräver dock en giltig SAS.
Ladda ned katalogen i den virtuella datorn
Nedladdningsplatsen för programpaketet och konfigurationsfilerna är:
- Linux:
/var/lib/waagent/Microsoft.CPlat.Core.VMApplicationManagerLinux/<application name>/<application version>
- Windows:
C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.9\Downloads\<application name>\<application version>
Kommandona install/update/remove ska skrivas förutsatt att programpaketet och konfigurationsfilen finns i den aktuella katalogen.
Filnamngivning
När programfilen laddas ned till den virtuella datorn byts filen namn till "MyVmApp" och har inget filnamnstillägg (t.ex. .exe, .msi). Den virtuella datorn känner inte till filens ursprungliga namn och filnamnstillägg .
Här är några alternativ för att navigera i det här problemet:
Du kan ändra skriptet så att det innehåller ett kommando för att byta namn på filen före körning:
move .\\MyVmApp .\\MyApp.exe & MyApp.exe /S
Du kan också använda packageFileName
egenskapen (och motsvarande configFileName
) för att instruera oss vad vi ska byta namn på filen. Om du till exempel ställer in det på "MyApp.exe" blir installationsskriptet följande.
MyAppe.exe /S
Dricks
Om din blob ursprungligen heter "myApp.exe" i stället för "myapp", fungerar skriptet utan att packageFileName
ange egenskapen.
Kommandotolk
Standardkommandotolkarna är:
- Linux:
/bin/bash
- Windows:
cmd.exe
Det är möjligt att använda en annan tolk som Chocolatey eller PowerShell, så länge den är installerad på datorn, genom att anropa den körbara filen och skicka kommandot till den. Om du till exempel vill att kommandot ska köras i PowerShell i Windows i stället för cmd kan du skicka powershell.exe -Command '<powershell commmand>'
Så här hanteras uppdateringar
När du uppdaterar en programversion på en virtuell dator eller vm-skalningsuppsättningar används uppdateringskommandot som du angav under distributionen. Om den uppdaterade versionen inte har något uppdateringskommando tas den aktuella versionen bort och den nya versionen installeras.
Uppdateringskommandon bör skrivas med förväntningen att det kan uppdateras från en äldre version av det virtuella datorprogrammet.
Behandla fel som distributionsfel
Vm-programtillägget returnerar alltid ett lyckat resultat oavsett om någon VM-app misslyckades när den installerades/uppdaterades/togs bort. Programtillägget för den virtuella datorn rapporterar endast tilläggsstatusen som ett fel när det uppstår ett problem med tillägget eller den underliggande infrastrukturen. Det här beteendet utlöses av flaggan "behandla fel som distributionsfel", som är inställd $false
på som standard och kan ändras till $true
. Felflaggan kan konfigureras i PowerShell eller CLI.
Skapa vm-program i Linux
För att skapa ett VM-program behöver du programpaket och skript för att installera, uppdatera och ta bort programmet korrekt.
Program från tredje part för Linux kan paketeras på några olika sätt. Nu ska vi utforska hur du hanterar skapandet av installationskommandon för några av de vanligaste.
.tar- och .gz-filer
Dessa filer är komprimerade arkiv och kan extraheras till en önskad plats. Kontrollera installationsanvisningarna för det ursprungliga paketet om de behöver extraheras till en specifik plats. Om .tar.gz fil innehåller källkod kan du läsa anvisningarna för paketet för hur du installerar från källan.
Exempel för att installera kommandot som ska installeras golang
på en Linux-dator:
sudo tar -C /usr/local -xzf go_linux
Exempel på borttagningskommando:
sudo rm -rf /usr/local/go
Skapa programpaket med hjälp av .deb
, .rpm
och andra plattformsspecifika paket för virtuella datorer med begränsad Internetåtkomst
Du kan ladda ned enskilda paket för plattformsspecifika pakethanterare, men de innehåller vanligtvis inte alla beroenden. För dessa filer måste du även inkludera alla beroenden i programpaketet, eller låta systempakethanteraren ladda ned beroendena via de lagringsplatser som är tillgängliga för den virtuella datorn. Om du arbetar med en virtuell dator med begränsad Internetåtkomst måste du paketera alla beroenden själv.
Att räkna ut beroendena kan vara lite knepigt. Det finns verktyg från tredje part som kan visa hela beroendeträdet.
I Ubuntu kan du köra sudo apt show <package_name> | grep Depends
för att visa alla paket som är installerade när kommandot körs sudo apt-get install <packge_name>
. Sedan kan du använda dessa utdata för att ladda ned alla .deb
filer för att skapa ett arkiv som kan användas som programpaket.
Utför följande steg för att skapa ett VM-programpaket för att installera PowerShell på Ubuntu:
- Kör följande kommandon för att aktivera lagringsplatsen för att ladda ned PowerShell och identifiera paketberoenden på en ny virtuell Ubuntu-dator
# 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
- Kontrollera utdata för raden Beroenden som visar följande paket:
Depends: libc6, lib32gcc-s1, 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.
- Ladda ned var och en av dessa filer med och
sudo apt-get download <package_name>
skapa ett tjärkomprimerat arkiv med alla filer.
- Ubuntu 18.04:
mkdir /tmp/powershell
cd /tmp/powershell
sudo apt-get download libc6
sudo apt-get download lib32gcc-s1
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 lib32gcc-s1
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 lib32gcc-s1
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
- Det här tar-arkivet är programpaketfilen.
- Installationskommandot i det här fallet är:
sudo tar -xvzf powershell.tar.gz && sudo dpkg -i *.deb
- Och kommandot remove är:
sudo apt remove powershell
Använd sudo apt autoremove
i stället för att uttryckligen försöka ta bort alla beroenden. Du kan ha installerat andra program med överlappande beroenden, och i så fall skulle ett explicit borttagningskommando misslyckas.
Om du inte vill lösa beroendena själv och apt
kan ansluta till lagringsplatserna kan du installera ett program med bara en .deb
fil och låta apt
hantera beroendena.
Exempel på installationskommando:
dpkg -i <package_name> || apt --fix-broken install -y
Skapa VM-program i Windows
De flesta program från tredje part i Windows är tillgängliga som .exe eller .msi installationsprogram. Vissa är också tillgängliga som extrahering och körning av zip-filer. Låt oss titta på metodtipsen för var och en av dem.
.exe installationsprogrammet
Körbara installationsprogram startar vanligtvis ett användargränssnitt (UI) och kräver att någon väljer via användargränssnittet. Om installationsprogrammet stöder en parameter för tyst läge bör den ingå i installationssträngen.
Cmd.exe förväntar sig också att körbara filer har tillägget .exe
, så du måste byta namn på filen för att få .exe
tillägget.
Om jag vill skapa ett VM-programpaket för myApp.exe
, som levereras som en körbar fil, kallas mitt vm-program "myApp", så jag skriver kommandot förutsatt att programpaketet finns i den aktuella katalogen:
"move .\\myApp .\\myApp.exe & myApp.exe /S -config myApp_config"
Om installationsfilen inte stöder en avinstallationsparameter kan du ibland leta upp registret på en testdator för att veta var avinstallationen finns.
I registret lagras avinstallationssträngen i Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<installed application name>\UninstallString
så jag skulle använda innehållet som mitt borttagningskommando:
'\"C:\\Program Files\\myApp\\uninstall\\helper.exe\" /S'
.msi installationsprogrammet
För kommandoradskörning av .msi
installationsprogram bör kommandona för att installera eller ta bort ett program använda msiexec
.
msiexec
Körs vanligtvis som en egen separat process och cmd
väntar inte på att den ska slutföras, vilket kan leda till problem när du installerar fler än ett VM-program. Kommandot start
kan användas med msiexec
för att säkerställa att installationen slutförs innan kommandot returneras. Till exempel:
start /wait %windir%\\system32\\msiexec.exe /i myapp /quiet /forcerestart /log myapp_install.log
Exempel på borttagningskommando:
start /wait %windir%\\system32\\msiexec.exe /x myapp /quiet /forcerestart /log myapp_uninstall.log
start
Normalt anropas kommandot i ett batchskript. Om det används med parametern /wait
pausas det anropande skriptet tills den anropade processen avslutas. När det är klart skulle batchskriptet söka efter variabeln errorlevel
som angetts av start
kommandot och avsluta på följande sätt:
start /wait %windir%\\system32\\msiexec.exe /i myapp /quiet /forcerestart /log myapp_install.log
if %errorlevel% neq 0 exit /b %errorlevel%
...
Zippade filer
För .zip eller andra zippade filer byter du namn på och packar upp innehållet i programpaketet till önskat mål.
Exempel på installationskommando:
rename myapp myapp.zip && mkdir C:\myapp && powershell.exe -Command "Expand-Archive -path myapp.zip -destinationpath C:\myapp"
Exempel på borttagningskommando:
rmdir /S /Q C:\\myapp
Felsöka VM-program
Om du vill veta om ett visst virtuellt datorprogram har lagts till i den virtuella datorinstansen kontrollerar du meddelandet om vm-programtillägget.
Mer information om hur du hämtar status för VM-tillägg finns i Tillägg för virtuella datorer och funktioner för Linux - och Virtual Machine-tillägg och -funktioner för Windows.
Om du vill hämta status för VM-tillägg använder du Get-AzVM:
Get-AzVM -name <VM name> -ResourceGroupName <resource group name> -Status | convertto-json -Depth 10
Om du vill hämta status för skalningsuppsättningstillägg använder du Get-AzVMSS:
$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
Felmeddelanden
Meddelande | beskrivning |
---|---|
Den aktuella versionen av den virtuella datorns program {name} var inaktuell vid {date}. | Du försökte distribuera en version av vm-programmet som redan har föråldrats. Prova att använda latest i stället för att ange en specifik version. |
Den aktuella versionen av vm-programmet {name} stöder operativsystemet {OS}, medan den aktuella OSDisk-operativsystemet är {OS}. | Du försökte distribuera ett Linux-program till Windows-instansen eller tvärtom. |
Det maximala antalet virtuella datorprogram (max=5, current={count}) har överskridits. Använd färre program och försök igen. | För närvarande stöder vi bara fem VM-program per virtuell dator eller skalningsuppsättning. |
Mer än ett VM-program har angetts med samma packageReferenceId. | Samma program har angetts mer än en gång. |
Prenumerationen har inte behörighet att komma åt den här avbildningen. | Prenumerationen har inte åtkomst till den här programversionen. |
Lagringskontot i argumenten finns inte. | Det finns inga program för den här prenumerationen. |
Plattformsbilden {image} är inte tillgänglig. Kontrollera att alla fält i lagringsprofilen är korrekta. Mer information om lagringsprofilinformation finns i https://aka.ms/storageprofile. | Programmet finns inte. |
Galleribilden {image} är inte tillgänglig i regionen {region}. Kontakta bildägaren för att replikera till den här regionen eller ändra den begärda regionen. | Galleriprogramversionen finns, men den replikerades inte till den här regionen. |
SAS är inte giltigt för käll-uri {uri}. | Ett Forbidden fel togs emot från lagringen när information om URL:en skulle hämtas (antingen mediaLink eller defaultConfigurationLink). |
Blobben som refereras av käll-URI {uri} finns inte. | Bloben som tillhandahålls för egenskaperna mediaLink eller defaultConfigurationLink finns inte. |
Det går inte att komma åt url:en {url} för galleriprogrammets version på grund av följande fel: fjärrnamnet hittades inte. Kontrollera att blobben finns och att den antingen är offentligt tillgänglig eller att den är en SAS-URL med läsbehörighet. | Det mest sannolika fallet är att en SAS-uri med läsbehörighet inte angavs. |
Det går inte att komma åt url:en {url} för galleriprogrammet på grund av följande fel: {felbeskrivning}. Kontrollera att blobben finns och att den antingen är offentligt tillgänglig eller att den är en SAS-URL med läsbehörighet. | Det uppstod ett problem med den angivna lagringsbloben. Felbeskrivningen innehåller mer information. |
Åtgärden {operationName} är inte tillåten i {application} eftersom den har markerats för borttagning. Du kan bara försöka ta bort åtgärden igen (eller vänta tills en pågående åtgärd har slutförts). | Försök att uppdatera ett program som för närvarande tas bort. |
Värdet {value} för parametern "galleryApplicationVersion.properties.publishingProfile.replicaCount" ligger inte inom intervallet. Värdet måste vara mellan ett och tre, inklusive. | Endast mellan en och tre repliker tillåts för vm-programversioner. |
Det går inte att ändra egenskapen "galleryApplicationVersion.properties.publishingProfile.manageActions.install". (Eller uppdatera, ta bort) | Det går inte att ändra någon av hanteringsåtgärderna på en befintlig VmApplication. En ny VmApplication-version måste skapas. |
Det går inte att ändra egenskapens galleriApplicationVersion.properties.publishingProfile.settings.packageFileName. (Eller konfigurationsfilnamn) | Det går inte att ändra någon av inställningarna, till exempel paketfilnamnet eller konfigurationsfilens namn. En ny VmApplication-version måste skapas. |
Den blob som refereras av käll-URI {uri} är för stor: storlek = {size}. Den maximala tillåtna blobstorleken är "1 GB". | Den maximala storleken för en blob som refereras till av mediaLink eller defaultConfigurationLink är för närvarande 1 GB. |
Blobben som refereras av käll-URI {uri} är tom. | En tom blob refererades till. |
Blobtypen {type} stöds inte för {operation}-åtgärden. Endast sidblobar och blockblobar stöds. | VmApplications stöder endast sidblobbar och blockblobar. |
SAS är inte giltigt för käll-uri {uri}. | SAS-uri som tillhandahålls för mediaLink eller defaultConfigurationLink är inte en giltig SAS-URI. |
Det går inte att ange {region} i målregioner eftersom prenumerationen saknar den nödvändiga funktionen {featureName}. Registrera din prenumeration med den nödvändiga funktionen eller ta bort regionen från målregionlistan. | Om du vill använda VmApplications i vissa begränsade regioner måste du ha funktionsflaggan registrerad för den prenumerationen. |
Publiceringsprofilregionerna {regions} för galleribilder måste innehålla platsen för avbildningsversionen {location}. | Listan över regioner för replikering måste innehålla den plats där programversionen finns. |
Duplicerade regioner tillåts inte i målpubliceringsregioner. | Publiceringsregionerna kanske inte har dubbletter. |
Galleriprogramversionsresurser stöder för närvarande inte kryptering. | Krypteringsegenskapen för målregioner stöds inte för VM-program |
Entitetsnamnet matchar inte namnet i begärande-URL:en. | Den galleriprogramversion som anges i begärande-URL:en matchar inte den som anges i begärandetexten. |
Namnet på galleriprogrammets version är ogiltigt. Namnet på programversionen bör följa Major(int32). Mindre(int32). Patch(int32)-format, där int är mellan 0 och 2 147 483 647 (inklusive). Till exempel 1.0.0, 2018.12.1 osv. |
Galleriprogramversionen måste följa det angivna formatet. |
Nästa steg
- Lär dig hur du skapar och distribuerar programpaket för virtuella datorer.