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:

  1. 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.
  2. 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:

  1. Download het hulpprogramma Azure Gallery Packager:

    Gallery packager

  2. 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:

    Voorbeeldenpakketten

  3. 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.

  4. 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.

  5. Het galeriepakket moet de volgende structuur bevatten:

    Schermopname van de galeriepakketstructuur

  6. 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.
  7. 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"
    }
    
  8. De bestandsstructuur van de implementatiesjablonen ziet er als volgt uit:

    Implementatiesjablonen

    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.

  9. Test de sjabloon met de Azure Stack Hub-API's om ervoor te zorgen dat de resource kan worden geïmplementeerd.

  10. 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.

  11. Sla uw Azure Resource Manager-sjabloon op in de map /Contoso.TodoList/DeploymentTemplates/.

  12. 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.

  13. Zie Naslaginformatie: Marketplace-item manifest.json voor verdere bewerkingen in Manifest.json.

  14. 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 map C:\<path> bestaan.

Een Marketplace-item publiceren

  1. 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.

  2. 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.

  3. Een context toevoegen:

    $ArmEndpoint = "https://adminmanagement.local.azurestack.external"
    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint
    Connect-AzAccount -EnvironmentName "AzureStackAdmin"
    
  4. 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.

  5. 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.

    Aangepast Marketplace-item geüpload

  6. 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
  7. 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.

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 maken- Azure Stack Hub Marketplace-items

Blade Met details van Marketplace-item

Blade met details van Azure Stack Hub Marketplace-item

Volgende stappen