Een aangepast Azure Stack Hub Marketplace-item maken en publiceren
Voor elk item dat wordt gepubliceerd naar de Azure Stack Hub Marketplace wordt de indeling Azure Gallery Package (.azpkg) gebruikt. Met het hulpprogramma Azure Gallery Packager kunt u een aangepast Azure Gallery-pakket maken dat u kunt uploaden naar de Azure Stack Hub Marketplace, dat vervolgens door gebruikers kan worden gedownload. Het implementatieproces maakt gebruik van een Azure Resource Manager-sjabloon.
Marketplace-items
De voorbeelden in dit artikel laten zien hoe u één VM Marketplace-aanbieding van het type Windows of Linux maakt.
Vereisten
Ga als volgt te werk voordat u het vm-marketplace-item maakt:
- Upload de aangepaste VM-installatiekopieën naar de Azure Stack Hub-portal en volg de instructies in Een VM-installatiekopieën toevoegen aan Azure Stack Hub.
- Volg de instructies in dit artikel om de installatiekopieën te verpakken (een .azpkg maken) en deze te uploaden naar de Azure Stack Hub Marketplace.
Een Marketplace-item maken
Ga als volgt te werk om een aangepast Marketplace-item te maken:
Download het hulpprogramma Azure Gallery Packager:
Het hulpprogramma bevat voorbeeldpakketten in de .azpkg-indeling en moet eerst worden geëxtraheerd. U kunt de naam van de bestandsextensies wijzigen van '.azpkg' in '.zip' of een archiveringshulpprogramma naar keuze gebruiken:
Zodra het .zip-bestand is uitgepakt, bevat het beschikbare Linux- of Windows Azure-Resource Manager-sjablonen. U kunt de vooraf gemaakte Resource Manager-sjablonen opnieuw gebruiken en de respectieve parameters wijzigen met de productdetails van het item dat u in uw Azure Stack Hub-portal weergeeft. Of u kunt het .azpkg-bestand opnieuw gebruiken en de volgende stappen overslaan om uw eigen galeriepakket aan te passen.
Maak een Azure Resource Manager-sjabloon of gebruik onze voorbeeldsjablonen voor Windows/Linux. Deze voorbeeldsjablonen zijn opgenomen in het hulpprogramma Packager .zip bestand dat u in stap 1 hebt gedownload. U kunt de sjabloon gebruiken en de tekstvelden wijzigen, of u kunt een vooraf geconfigureerde sjabloon downloaden van GitHub. Zie Azure Resource Manager-sjablonen voor meer informatie over Azure Resource Manager-sjablonen.
Het galeriepakket moet de volgende structuur bevatten:
Vervang de volgende gemarkeerde waarden (die door getallen) in de sjabloon Manifest.json door de waarde die u hebt opgegeven bij het uploaden van de aangepaste afbeelding.
Notitie
Codeer nooit geheimen zoals productcodes, wachtwoorden of klantgegevens in de Azure Resource Manager-sjabloon. JSON-sjabloonbestanden zijn toegankelijk zonder verificatie zodra ze in de galerie zijn gepubliceerd. Sla alle geheimen op in Key Vault en roep ze aan vanuit de sjabloon.
Het is raadzaam om voordat u uw eigen aangepaste sjabloon publiceert, het voorbeeld te publiceren zoals het is en ervoor te zorgen dat het werkt in uw omgeving. Nadat u hebt gecontroleerd of deze stap werkt, verwijdert u het voorbeeld uit de galerie en voert u iteratieve wijzigingen aan totdat u tevreden bent met het resultaat.
De volgende sjabloon is een voorbeeld van het bestand Manifest.json:
{ "$schema": "https://gallery.azure.com/schemas/2015-10-01/manifest.json#", "name": "Test", (1) "publisher": "<Publisher name>", (2) "version": "<Version number>", (3) "displayName": "ms-resource:displayName", (4) "publisherDisplayName": "ms-resource:publisherDisplayName", (5) "publisherLegalName": "ms-resource:publisherDisplayName", (6) "summary": "ms-resource:summary", "longSummary": "ms-resource:longSummary", "description": "ms-resource:description", "longDescription": "ms-resource:description", "links": [ { "displayName": "ms-resource:documentationLink", "uri": "http://go.microsoft.com/fwlink/?LinkId=532898" } ], "artifacts": [ { "isDefault": true } ], "images": [{ "context": "ibiza", "items": [{ "id": "small", "path": "icons\\Small.png", (7) "type": "icon" }, { "id": "medium", "path": "icons\\Medium.png", "type": "icon" }, { "id": "large", "path": "icons\\Large.png", "type": "icon" }, { "id": "wide", "path": "icons\\Wide.png", "type": "icon" }] }] }
In de volgende lijst worden de voorgaande genummerde waarden in de voorbeeldsjabloon uitgelegd:
- (1) - De naam van de aanbieding.
- (2) - De naam van de uitgever, zonder spatie.
- (3) - De versie van uw sjabloon, zonder spatie.
- (4) - De naam die klanten zien.
- (5) - De naam van de uitgever die klanten zien.
- (6) - De juridische naam van de uitgever.
- (7) - Het pad en de naam voor elk pictogram.
Voor alle velden die naar ms-resource verwijzen, moet u de juiste waarden in het bestand strings/resources.json wijzigen:
{ "displayName": "<OfferName.PublisherName.Version>", "publisherDisplayName": "<Publisher name>", "summary": "Create a simple VM", "longSummary": "Create a simple VM and use it", "description": "<p>This is just a sample of the type of description you could create for your gallery item!</p><p>This is a second paragraph.</p>", "documentationLink": "Documentation" }
De bestandsstructuur van de implementatiesjablonen ziet er als volgt uit:
Vervang de waarden voor de afbeelding in het bestand createuidefinition.json door de waarde die u hebt opgegeven bij het uploaden van uw aangepaste afbeelding.
Test de sjabloon met de Azure Stack Hub-API's om ervoor te zorgen dat de resource kan worden geïmplementeerd.
Als uw sjabloon afhankelijk is van een installatiekopieën van een virtuele machine (VM), volgt u de instructies om een VM-installatiekopieën toe te voegen aan Azure Stack Hub.
Sla uw Azure Resource Manager-sjabloon op in de map /Contoso.TodoList/DeploymentTemplates/.
Kies de pictogrammen en tekst voor uw Marketplace-item. Voeg pictogrammen toe aan de map Pictogrammen en voeg tekst toe aan het resourcebestand in de map Tekenreeksen . Gebruik de naamconventie voor kleine, middelgrote, grote en brede namen voor pictogrammen. Zie de naslaginformatie over de gebruikersinterface voor Marketplace-items voor een gedetailleerde beschrijving van deze grootten.
Notitie
Alle vier de pictogramgrootten (klein, gemiddeld, groot, breed) zijn vereist om het Marketplace-item correct te bouwen.
Zie Naslaginformatie: Marketplace-item manifest.json voor verdere bewerkingen in Manifest.json.
Wanneer u klaar bent met het wijzigen van uw bestanden, converteert u deze naar een .azpkg-bestand. U voert de conversie uit met behulp van het hulpprogrammaAzureGallery.exe en het voorbeeldgaleriepakket dat u eerder hebt gedownload. Voer de volgende opdracht uit:
.\AzureStackHubGallery.exe package -m c:\<path>\<gallery package name>\manifest.json -o c:\Temp
Notitie
Het uitvoerpad kan elk pad zijn dat u kiest en hoeft zich niet onder station C: te bevinden. Het volledige pad naar zowel het manifest.json-bestand als het uitvoerpakket moet echter bestaan. Als het uitvoerpad bijvoorbeeld is
C:\<path>\galleryPackageName.azpkg
, moet de mapC:\<path>
bestaan.
Een Marketplace-item publiceren
Gebruik PowerShell of Azure Storage Explorer om uw Marketplace-item (.azpkg) te uploaden naar Azure Blob Storage. U kunt uploaden naar lokale Azure Stack Hub-opslag of uploaden naar Azure Storage, een tijdelijke locatie voor het pakket. Zorg ervoor dat de blob openbaar toegankelijk is.
Als u het galeriepakket wilt importeren in Azure Stack Hub, moet u eerst extern verbinding maken (RDP) met de client-VM om het bestand dat u zojuist hebt gemaakt, te kopiëren naar uw Azure Stack Hub.
Een context toevoegen:
$ArmEndpoint = "https://adminmanagement.local.azurestack.external" Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint Connect-AzAccount -EnvironmentName "AzureStackAdmin"
Voer het volgende script uit om de resource te importeren in uw galerie:
Add-AzsGalleryItem -GalleryItemUri ` https://sample.blob.core.windows.net/<temporary blob name>/<offerName.publisherName.version>.azpkg -Verbose
Als er een fout optreedt bij het uitvoeren van Add-AzsGalleryItem, zijn er mogelijk twee versies van de
gallery.admin
module geïnstalleerd. Verwijder alle versies van de module en installeer de nieuwste versie. Zie Bestaande versies van de Azure Stack Hub PowerShell-modules verwijderen voor stappen voor het verwijderen van uw PowerShell-modules.Controleer of u een geldig opslagaccount hebt dat beschikbaar is voor het opslaan van uw item. U kunt de
GalleryItemURI
waarde ophalen uit de Azure Stack Hub-beheerdersportal. Selecteer Opslagaccount -> Blobeigenschappen -> URL, met de extensie .azpkg. Het opslagaccount is alleen voor tijdelijk gebruik om te publiceren naar marketplace.Nadat u uw galeriepakket hebt voltooid en geüpload met Behulp van Add-AzsGalleryItem, moet uw aangepaste VM nu worden weergegeven in marketplace en in de weergave Een resource maken . Houd er rekening mee dat het aangepaste galeriepakket niet zichtbaar is in Marketplace-beheer.
Zodra uw item is gepubliceerd naar marketplace, kunt u de inhoud uit het opslagaccount verwijderen.
Alle standaardgalerieartefacten en uw aangepaste galerieartefacten zijn nu toegankelijk zonder verificatie onder de volgende URL's:
https://galleryartifacts.adminhosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
https://galleryartifacts.hosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
U kunt een Marketplace-item verwijderen met behulp van de cmdlet Remove-AzGalleryItem . Bijvoorbeeld:
Remove-AzsGalleryItem -Name <Gallery package name> -Verbose
Notitie
In de gebruikersinterface van Marketplace kan een fout worden weergegeven nadat u een item hebt verwijderd. Als u de fout wilt oplossen, klikt u op Instellingen in de portal. Selecteer vervolgens Wijzigingen negeren onder Portalaanpassing.
Naslaginformatie: Marketplace-item manifest.json
Identiteitsgegevens
Naam | Vereist | Type | Beperkingen | Beschrijving |
---|---|---|---|---|
Naam | X | Tekenreeks | [A-Za-z0-9]+ | |
Publisher | X | Tekenreeks | [A-Za-z0-9]+ | |
Versie | X | Tekenreeks | SemVer v2 |
Metagegevens
Naam | Vereist | Type | Beperkingen | Beschrijving |
---|---|---|---|---|
DisplayName | X | Tekenreeks | Aanbeveling van 80 tekens | De naam van uw item wordt mogelijk niet correct weergegeven in de portal als deze langer is dan 80 tekens. |
PublisherDisplayName | X | Tekenreeks | Aanbeveling van 30 tekens | De naam van uw uitgever wordt mogelijk niet correct weergegeven in de portal als deze langer is dan 30 tekens. |
PublisherLegalName | X | Tekenreeks | Maximaal 256 tekens | |
Samenvatting | X | Tekenreeks | 60 tot 100 tekens | |
LongSummary | X | Tekenreeks | 140 tot 256 tekens | Nog niet van toepassing in Azure Stack Hub. |
Beschrijving | X | HTML | 500 tot 5.000 tekens |
Installatiekopieën
Marketplace gebruikt de volgende pictogrammen:
Naam | Breedte | Hoogte | Notities |
---|---|---|---|
Breed | 255 px | 115 px | Altijd vereist |
Groot | 115 px | 115 px | Altijd vereist |
Normaal | 90 px | 90 px | Altijd vereist |
Klein | 40 px | 40 px | Altijd vereist |
Schermopname | 533 px | 324 pixels | Optioneel |
Categorieën
Elk Marketplace-item moet worden gelabeld met een categorie die aangeeft waar het item wordt weergegeven in de gebruikersinterface van de portal. U kunt een van de bestaande categorieën kiezen in Azure Stack Hub (compute, gegevens en opslag, enzovoort) of een nieuwe categorie kiezen.
Koppelingen
Elk Marketplace-item kan verschillende koppelingen naar aanvullende inhoud bevatten. De koppelingen worden opgegeven als een lijst met namen en URI's:
Naam | Vereist | Type | Beperkingen | Beschrijving |
---|---|---|---|---|
DisplayName | X | Tekenreeks | Maximaal 64 tekens. | |
Uri | X | URI |
Aanvullende eigenschappen
Naast de voorgaande metagegevens kunnen Marketplace-auteurs aangepaste sleutel-/waardepaargegevens in de volgende vorm leveren:
Naam | Vereist | Type | Beperkingen | Beschrijving |
---|---|---|---|---|
DisplayName | X | Tekenreeks | Maximaal 25 tekens. | |
Waarde | X | Tekenreeks | Maximaal 30 tekens. |
HTML-opschoning
Voor elk veld dat HTML toestaat, zijn de volgende elementen en kenmerken toegestaan:
h1, h2, h3, h4, h5, p, ol, ul, li, a[target|href], br, strong, em, b, i
Naslaginformatie: Gebruikersinterface voor Marketplace-items
Pictogrammen en tekst voor Marketplace-items zoals weergegeven in de Azure Stack Hub-portal zijn als volgt.
Blade maken
Blade Met details van Marketplace-item