Skapa och publicera ett anpassat Azure Stack Hub Marketplace-objektCreate and publish a custom Azure Stack Hub Marketplace item

Varje objekt som publiceras på Azure Stack Hub Marketplace använder Azure Gallery Package (. azpkg)-formatet.Every item published to the Azure Stack Hub Marketplace uses the Azure Gallery Package (.azpkg) format. Med verktyget Azure Gallery Packager kan du skapa ett anpassat Azure Gallery-paket som du kan överföra till Azure Stack Hub Marketplace, som sedan kan laddas ned av användare.The Azure Gallery Packager tool enables you to create a custom Azure Gallery package that you can upload to the Azure Stack Hub Marketplace, which can then be downloaded by users. Distributions processen använder en Azure Resource Manager-mall.The deployment process uses an Azure Resource Manager template.

Marketplace-objektMarketplace items

I exemplen i den här artikeln visas hur du skapar ett enda erbjudande för virtuell dator i Marketplace, av typen Windows eller Linux.The examples in this article show how to create a single VM Marketplace offer, of type Windows or Linux.

FörutsättningarPrerequisites

Gör följande innan du skapar det virtuella dator Marketplace-objektet:Before creating the VM marketplace item, do the following:

  1. Överför den anpassade virtuella dator avbildningen till Azure Stack Hub-portalen genom att följa anvisningarna i lägga till en avbildning av en virtuell dator i Azure Stack Hub.Upload the custom VM image to the Azure Stack Hub portal, following the instructions in Add a VM image to Azure Stack Hub.
  2. Följ anvisningarna i den här artikeln för att paketera avbildningen (skapa en. azpkg) och ladda upp den till Azure Stack Hub Marketplace.Follow the instructions in this article to package the image (create an .azpkg) and upload it to the Azure Stack Hub Marketplace.

Skapa ett Marketplace-objektCreate a Marketplace item

Gör så här om du vill skapa ett anpassat Marketplace-objekt:To create a custom marketplace item, do the following:

  1. Ladda ned Azure Gallery Packager-verktyget och exemplet Azure Stack Hub Gallery-paket.Download the Azure Gallery Packager tool and the sample Azure Stack Hub gallery package. Den här nedladdningen innehåller anpassade VM-mallar.This download includes custom VM templates. Extrahera. zip-filen och under mappen anpassade virtuella datorer kan du använda antingen Linux-eller Windows-mallarna som är tillgängliga.Extract the .zip file, and under the folder Custom VMs, you can use either the Linux or the Windows templates that are available. Du kan välja att återanvända de färdiga mallarna och ändra respektive parametrar med produkt information om det objekt som ska visas på din Azure Stack Hub-Portal.You can decide to re-use the pre-made templates and modify the respective parameters with the product details of the item that you will show on your Azure Stack Hub portal. Eller så kan du helt enkelt återanvända. azpkg-filen som är tillgänglig och hoppa över följande steg för att anpassa ditt eget galleri paket.Or, you can simply re-use the .azpkg file available and skip the following steps to customize your own gallery package.

  2. Skapa en Azure Resource Manager mall eller Använd våra exempel mallar för Windows/Linux.Create an Azure Resource Manager template or use our sample templates for Windows/Linux. Dessa exempel mallar finns i Packager-verktyget. zip-filen som du laddade ned i steg 1.These sample templates are provided in the packager tool .zip file you downloaded in step 1. Du kan antingen använda mallen och ändra textfälten, eller så kan du ladda ned en förkonfigurerad mall från GitHub.You can either use the template and change the text fields, or you can download a pre-configured template from GitHub. Mer information om Azure Resource Manager-mallar finns i Azure Resource Manager mallar.For more information about Azure Resource Manager templates, see Azure Resource Manager templates.

  3. Galleri paketet bör innehålla följande struktur:The Gallery package should contain the following structure:

    Skärm bild av Galleri paket strukturen

    Fil strukturen för distributionsmall visas på följande sätt:The deployment templates file structure appears as follows:

    Skärm bild av strukturen för mallar för distribution

  4. Ersätt följande markerade värden (de med siffror) i Manifest.jspå mall med det värde som du angav när du överförde den anpassade avbildningen.Replace the following highlighted values (those with numbers) in the Manifest.json template with the value that you provided when uploading your custom image.

    Anteckning

    Du kan aldrig hårdkoda några hemligheter som produkt nycklar, lösen ord eller kund identifierbar information i Azure Resource Manager-mallen.Never hard code any secrets such as product keys, password, or any customer identifiable information in the Azure Resource Manager template. Mall-JSON-filer kan nås utan att du behöver autentiseras när de har publicerats i galleriet.Template JSON files are accessible without the need for authentication once published in the gallery. Lagra alla hemligheter i Key Vault och anropa dem inifrån mallen.Store all secrets in Key Vault and call them from within the template.

    Innan du publicerar din egen anpassade mall bör du försöka publicera exemplet som det är och se till att det fungerar i din miljö.It's recommended that before publishing your own custom template, you try to publish the sample as-is and make sure it works in your environment. När du har kontrollerat att det här steget fungerar tar du bort exemplet från galleriet och gör iterativa ändringar tills du är nöjd med resultatet.Once you've verified this step works, then delete the sample from gallery and make iterative changes until you are satisfied with the result.

    Följande mall är ett exempel på filen Manifest.js:The following template is a sample of the Manifest.json file:

    {
       "$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"
             }]
        }]
    }
    

    I följande lista förklaras de föregående numrerade värdena i exempel mal len:The following list explains the preceding numbered values in the example template:

    • (1) – namnet på erbjudandet.(1) - The name of the offer.
    • (2) – utgivarens namn, utan blank steg.(2) - The name of the publisher, without a space.
    • (3) – versionen av din mall, utan blank steg.(3) - The version of your template, without a space.
    • (4) – det namn som kunderna ser.(4) - The name that customers see.
    • (5) – utgivarens namn som kunderna ser.(5) - The publisher name that customers see.
    • (6) – det juridiska namnet för utgivaren.(6) - The publisher legal name.
    • (7) – sökväg och namn för varje ikon.(7) - The path and name for each icon.
  5. För alla fält som refererar till MS-Resource måste du ändra lämpliga värden i strängerna/resources.jspå filen:For all fields referring to ms-resource, you must change the appropriate values inside the strings/resources.json file:

    {
    "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"
    }
    
  6. Testa mallen med API: erna för Azure Stack Hubför att se till att resursen kan distribueras korrekt.To ensure that the resource can be deployed successfully, test the template with the Azure Stack Hub APIs.

  7. Om mallen är beroende av en virtuell dator avbildning följer du anvisningarna för att lägga till en avbildning av en virtuell dator i Azure Stack hubben.If your template relies on a virtual machine (VM) image, follow the instructions to add a VM image to Azure Stack Hub.

  8. Spara din Azure Resource Manager-mall i mappen /contoso.TodoList/DeploymentTemplates/Save your Azure Resource Manager template in the /Contoso.TodoList/DeploymentTemplates/ folder.

  9. Välj ikoner och text för ditt Marketplace-objekt.Choose the icons and text for your Marketplace item. Lägg till ikoner i mappen ikoner och Lägg till text i resurs filen i mappen Strings .Add icons to the Icons folder, and add text to the resources file in the Strings folder. Använd de små, medel stora och breda namngivnings konventionerna för ikoner.Use the small, medium, large, and wide naming convention for icons. Se referens för Marketplace-objekt om du vill ha en detaljerad beskrivning av de här storlekarna.See the Marketplace item UI reference for a detailed description of these sizes.

    Anteckning

    Alla fyra ikon storlekar (små, medel stora och breda) krävs för att utveckla Marketplace-objektet på rätt sätt.All four icon sizes (small, medium, large, wide) are required for building the Marketplace item correctly.

  10. Mer ändringar som kan Manifest.jspå finns i referens: Marketplace-objekt manifest.jspå.For any further edits to Manifest.json, see Reference: Marketplace item manifest.json.

  11. När du är klar med att ändra dina filer konverterar du den till en. azpkg-fil.When you finish modifying your files, convert it to an .azpkg file. Du utför konverteringen med hjälp av AzureGallery.exe -verktyget och det exempel Galleri paketet som du laddade ned tidigare.You perform the conversion using the AzureGallery.exe tool and the sample gallery package you downloaded previously. Kör följande kommando:Run the following command:

    .\AzureGallery.exe package -m c:\<path>\<gallery package name>\manifest.json -o c:\Temp
    

    Anteckning

    Sökvägen till utdata kan vara valfri sökväg som du väljer och behöver inte vara under enheten C:.The output path can be any path you choose, and does not have to be under the C: drive. Den fullständiga sökvägen till både den manifest.jsfilen och det utgående paketet måste dock finnas.However, the full path to both the manifest.json file, and the output package, must exist. Om till exempel sökvägen till utdata är C:\<path>\galleryPackageName.azpkg , C:\<path> måste mappen finnas.For example, if the output path is C:\<path>\galleryPackageName.azpkg, the folder C:\<path> must exist.

Publicera ett Marketplace-objektPublish a Marketplace item

  1. Använd PowerShell eller Azure Storage Explorer för att ladda upp Marketplace-objektet (. azpkg) till Azure Blob Storage.Use PowerShell or Azure Storage Explorer to upload your Marketplace item (.azpkg) to Azure Blob storage. Du kan ladda upp till lokal Azure Stack hubb lagring eller ladda upp till Azure Storage, vilket är en tillfällig plats för paketet.You can upload to local Azure Stack Hub storage or upload to Azure Storage, which is a temporary location for the package. Se till att blobben är offentligt tillgänglig.Make sure that the blob is publicly accessible.

  2. Om du vill importera Galleri paketet till Azure Stack Hub, är det första steget att fjärrans luta (RDP) till den virtuella klient datorn, för att kopiera filen som du nyss skapade till Azure Stack Hub.To import the gallery package into Azure Stack Hub, the first step is to remotely connect (RDP) to the client VM, in order to copy the file you just created to your Azure Stack Hub.

  3. Lägg till en kontext:Add a context:

    $ArmEndpoint = "https://adminmanagement.local.azurestack.external"
    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint
    Add-AzAccount -EnvironmentName "AzureStackAdmin"
    
  4. Kör följande skript för att importera resursen till ditt Galleri:Run the following script to import the resource into your gallery:

    Add-AzsGalleryItem -GalleryItemUri `
    https://sample.blob.core.windows.net/<temporary blob name>/<offerName.publisherName.version>.azpkg -Verbose
    
  5. Kontrol lera att du har ett giltigt lagrings konto som är tillgängligt för lagring av ditt objekt.Verify that you have a valid Storage account that is available to store your item. Du kan hämta GalleryItemURI värdet från Azure Stack Hubbs administratörs Portal.You can get the GalleryItemURI value from the Azure Stack Hub administrator portal. Välj lagrings konto – > BLOB-egenskaper – > URL, med fil namns tillägget. azpkg.Select Storage account -> Blob Properties -> URL, with the extension .azpkg. Lagrings kontot är endast för tillfälligt bruk, för att publicera på Marketplace.The storage account is only for temporary use, in order to publish to the marketplace.

    När du har slutfört ditt Galleri paket och laddat upp det med hjälp av Add-AzsGalleryItem bör din anpassade VM nu visas på Marketplace och i vyn skapa en resurs .After completing your gallery package and uploading it using Add-AzsGalleryItem, your custom VM should now appear on the Marketplace as well as in the Create a resource view. Observera att det anpassade Galleri paketet inte är synligt i Marketplace-hantering.Note that the custom gallery package is not visible in Marketplace Management.

    Anpassat Marketplace-objekt har överförtsCustom marketplace item uploaded

  6. När ditt objekt har publicerats på Marketplace kan du ta bort innehållet från lagrings kontot.Once your item has been successfully published to the marketplace, you can delete the content from the storage account.

    Alla standard Galleri artefakter och dina anpassade Galleri artefakter är nu tillgängliga utan autentisering under följande URL: er:All default gallery artifacts and your custom gallery artifacts are now accessible without authentication under the following URLs:

    • https://galleryartifacts.adminhosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
    • https://galleryartifacts.hosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
  7. Du kan ta bort ett Marketplace-objekt med hjälp av cmdleten Remove-AzGalleryItem .You can remove a Marketplace item by using the Remove-AzGalleryItem cmdlet. Exempel:For example:

    Remove-AzsGalleryItem -Name <Gallery package name> -Verbose
    

Anteckning

Marketplace-ANVÄNDARGRÄNSSNITTET kan visa ett fel efter att du har tagit bort ett objekt.The Marketplace UI may show an error after you remove an item. Åtgärda felet genom att klicka på Inställningar i portalen.To fix the error, click Settings in the portal. Välj sedan Ignorera ändringar under Portal anpassning.Then, select Discard modifications under Portal customization.

Referens: Marketplace-objekt manifest.jspåReference: Marketplace item manifest.json

Identitets informationIdentity information

NameName KrävsRequired TypType VillkorConstraints BeskrivningDescription
NameName XX SträngString [A-za-Z0-9] +[A-Za-z0-9]+
PublisherPublisher XX SträngString [A-za-Z0-9] +[A-Za-z0-9]+
VersionVersion XX SträngString SemVer v2SemVer v2

MetadataMetadata

NameName KrävsRequired TypType VillkorConstraints BeskrivningDescription
DisplayNameDisplayName XX SträngString Rekommendation på 80 teckenRecommendation of 80 characters Portalen kanske inte visar ditt objekt namn korrekt om det är längre än 80 tecken.The portal might not display your item name correctly if it's longer than 80 characters.
PublisherDisplayNamePublisherDisplayName XX SträngString Rekommendation på 30 teckenRecommendation of 30 characters Portalen kanske inte visar utgivar namnet korrekt om det är längre än 30 tecken.The portal might not display your publisher name correctly if it's longer than 30 characters.
PublisherLegalNamePublisherLegalName XX SträngString Högst 256 teckenMaximum of 256 characters
SammanfattningSummary XX SträngString 60 till 100 tecken60 to 100 characters
LongSummaryLongSummary XX SträngString 140 till 256 tecken140 to 256 characters Inte tillgängligt ännu i Azure Stack Hub.Not yet applicable in Azure Stack Hub.
BeskrivningDescription XX HTMLHTML 500 till 5 000 tecken500 to 5,000 characters

AvbildningarImages

Marketplace använder följande ikoner:The Marketplace uses the following icons:

NameName BreddWidth HöjdHeight AnteckningarNotes
TäckaWide 255 BPT255 px 115 BPT115 px Krävs alltidAlways required
StorLarge 115 BPT115 px 115 BPT115 px Krävs alltidAlways required
MediumMedium 90 BPT90 px 90 BPT90 px Krävs alltidAlways required
LitenSmall 40 BPT40 px 40 BPT40 px Krävs alltidAlways required
SkärmbildScreenshot 533 BPT533 px 324 BPT324 px ValfrittOptional

KategorierCategories

Varje Marketplace-objekt ska taggas med en kategori som identifierar var objektet visas i användar gränssnittet för portalen.Each Marketplace item should be tagged with a category that identifies where the item appears on the portal UI. Du kan välja en av de befintliga kategorierna i Azure Stack Hub (data bearbetning, data + lagring och så vidare) eller välja en ny.You can choose one of the existing categories in Azure Stack Hub (Compute, Data + Storage, and so on) or choose a new one.

Varje Marketplace-objekt kan innehålla olika länkar till ytterligare innehåll.Each Marketplace item can include various links to additional content. Länkarna anges som en lista över namn och URI: er:The links are specified as a list of names and URIs:

NameName KrävsRequired TypType VillkorConstraints BeskrivningDescription
DisplayNameDisplayName XX SträngString Högst 64 tecken.Maximum of 64 characters.
URIUri XX URIURI

Ytterligare egenskaperAdditional properties

Förutom föregående metadata kan marknads författare tillhandahålla anpassad nyckel/värdepar-data i följande format:In addition to the preceding metadata, Marketplace authors can provide custom key/value pair data in the following form:

NameName KrävsRequired TypType VillkorConstraints BeskrivningDescription
DisplayNameDisplayName XX SträngString Högst 25 tecken.Maximum of 25 characters.
VärdeValue XX SträngString Högst 30 tecken.Maximum of 30 characters.

HTML-språkspråkningHTML sanitization

Följande element och attribut tillåtsför alla fält som tillåter HTML:For any field that allows HTML, the following elements and attributes are allowed:

h1, h2, h3, h4, h5, p, ol, ul, li, a[target|href], br, strong, em, b, i

Referens: gränssnitt för Marketplace-objektReference: Marketplace item UI

Ikoner och text för Marketplace-objekt som visas i Azure Stack Hub-portalen är följande.Icons and text for Marketplace items as seen in the Azure Stack Hub portal are as follows.

Bladet SkapaCreate blade

Skapa blad – Azure Stack hubb Marketplace-objekt

Bladet information om Marketplace-objektMarketplace item details blade

Bladet objekt information om Azure Stack Hub-marknadsplats

Nästa stegNext steps