Een aangepast Azure Stack Hub Marketplace-item maken en publiceren

Elk item dat naar Azure Stack Hub Marketplace wordt gepubliceerd, maakt gebruik van de indeling Azure Gallery Package (.azpkg). Met het hulpprogramma Azure Gallery Packager kunt u een aangepast Azure Gallery-pakket maken dat u kunt uploaden naar de Azure Stack Hub Marketplace, die vervolgens kan worden gedownload door gebruikers. Het implementatieproces maakt gebruik van een Azure Resource Manager-sjabloon.

Marketplace-items

In de voorbeelden in dit artikel ziet u hoe u één marketplace-aanbieding voor vm's maakt, van het type Windows of Linux.

Vereisten

Ga als volgt te werk voordat u het marketplace-item voor de VM maakt:

  1. Upload de aangepaste VM-installatiekopieën naar de Azure Stack Hub-portal en volgt u 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 (maak een .azpkg) en upload deze 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 die de .azpkg-indeling hebben en eerst moeten worden geëxtraheerd. U kunt de bestandsnaamextensies van '.azpkg' wijzigen in '.zip' of een archiverprogramma van uw keuze gebruiken:

    Samples packages

  3. Zodra het bestand is uitgepakt, bevat het .zip de Linux- of Windows Azure Resource Manager-sjablonen die beschikbaar zijn. U kunt de vooraf gemaakte Resource Manager-sjablonen opnieuw gebruiken en de respectieve parameters wijzigen met de productdetails van het item dat u in de Azure Stack Hub-portal wilt weergeven. U kunt het .azpkg-bestand ook 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 worden geleverd in het packager-hulpprogramma .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:

    Screenshot of the Gallery package structure

  6. Vervang de volgende gemarkeerde waarden (die met getallen) in de sjabloon Manifest.json door de waarde die u hebt opgegeven bij het uploaden van uw aangepaste afbeelding.

    Notitie

    Codeer nooit geheimen, zoals productcodes, wachtwoord of klantidentificeerbare informatie in de Azure Resource Manager-sjabloon. JSON-sjabloonbestanden zijn toegankelijk zonder dat verificatie nodig is nadat deze in de galerie is 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 als zodanig te publiceren 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 manifest.json-bestand:

    {
       "$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 verwijzen naar ms-resource, 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 wordt als volgt weergegeven:

    Deployment templates

    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. Om ervoor te zorgen dat de resource kan worden geïmplementeerd, test u de sjabloon met de Azure Stack Hub-API's.

  10. Als uw sjabloon afhankelijk is van een vm-installatiekopieën (virtuele machine), 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 resourcesbestand in de map Tekenreeksen . Gebruik de naamconventie voor kleine, middelgrote, grote en brede namen voor pictogrammen. Zie de naslaginformatie over de gebruikersinterface van Marketplace-items voor een gedetailleerde beschrijving van deze grootten.

    Notitie

    Alle vier de pictogramgrootten (klein, gemiddeld, groot, breed) zijn vereist voor het correct bouwen van het Marketplace-item.

  13. Zie Naslaginformatie: Marketplace-itemmanifest.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 het 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 met de client-VM om het bestand te kopiëren dat u zojuist hebt gemaakt 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 Storage-account hebt dat beschikbaar is om uw item op te slaan. U kunt de GalleryItemURI waarde ophalen via de Azure Stack Hub-beheerdersportal. Selecteer Storage account -> BlobEigenschappen -> URL, met de extensie .azpkg. Het opslagaccount is alleen voor tijdelijk gebruik om te publiceren naar de marketplace.

    Nadat u het galeriepakket hebt voltooid en het hebt geüpload met behulp van Add-AzsGalleryItem, wordt uw aangepaste VM nu weergegeven op marketplace en in de weergave Een resource maken . Houd er rekening mee dat het aangepaste galeriepakket niet zichtbaar is in Marketplace Management.

    Custom marketplace item uploaded

  6. Zodra het item is gepubliceerd naar de 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

De Gebruikersinterface van Marketplace kan een fout weergeven nadat u een item hebt verwijderd. Klik op Instellingen in de portal om de fout op te lossen. Selecteer vervolgens Wijzigingen negeren onder Portalaanpassing.

Naslaginformatie: Marketplace-itemmanifest.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 het item wordt mogelijk niet correct weergegeven in de portal als het langer is dan 80 tekens.
PublisherDisplayName X Tekenreeks Aanbeveling van 30 tekens De naam van de 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 5000 tekens

Installatiekopieën

De Marketplace gebruikt de volgende pictogrammen:

Name 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 px Optioneel

Categorieën

Elk Marketplace-item moet worden getagd met een categorie waarmee wordt aangegeven 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, Data + Storage 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 Auteurs van Marketplace aangepaste sleutel-waardepaargegevens opgeven in de volgende vorm:

Name 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 van Marketplace-item

Pictogrammen en tekst voor Marketplace-items zoals weergegeven in de Azure Stack Hub-portal zijn als volgt.

Blade maken

Create blade--Azure Stack Hub Marketplace items

Blade Marketplace-itemdetails

Azure Stack Hub Marketplace item details blade

Volgende stappen