Condividi tramite


Creare e pubblicare un elemento personalizzato del Marketplace dell'hub di Azure Stack

Ogni elemento pubblicato nel Marketplace dell'hub di Azure Stack usa il formato azure Gallery Package (.azpkg). Lo strumento Azure Gallery Packager consente di creare un pacchetto personalizzato della Raccolta di Azure che è possibile caricare nel Marketplace di Azure Stack Hub, dove può poi essere scaricato dagli utenti. Il processo di distribuzione usa un modello di Azure Resource Manager.

Elementi del Marketplace

Gli esempi in questo articolo illustrano come creare una singola offerta del Marketplace di macchine virtuali, di tipo Windows o Linux.

Prerequisiti

Prima di creare l'elemento del Marketplace della macchina virtuale, eseguire le operazioni seguenti:

  1. Caricare l'immagine di macchina virtuale personalizzata nel portale dell'hub di Azure Stack seguendo le istruzioni in Aggiungere un'immagine di macchina virtuale all'hub di Azure Stack.
  2. Seguire le istruzioni in questo articolo per creare un pacchetto dell'immagine (creare un file con estensione azpkg) e caricarlo in Azure Stack Hub Marketplace.

Creare un elemento del Marketplace

Per creare un elemento del marketplace personalizzato, eseguire le operazioni seguenti:

  1. Scaricare lo strumento Azure Gallery Packager:

    pacchetto della galleria

  2. Lo strumento include pacchetti di esempio che si trovano nel formato azpkg e devono essere estratti per primi. È possibile rinominare le estensioni di file da ".azpkg" a ".zip" o usare uno strumento di archiviazione di propria scelta:

    pacchetti di esempi

  3. Una volta estratto, il file .zip contiene i modelli linux o Windows Azure Resource Manager disponibili. È possibile riutilizzare i modelli di Resource Manager predefiniti e modificare i rispettivi parametri con i dettagli del prodotto dell'elemento che verrà visualizzato nel portale dell'hub di Azure Stack. In alternativa, è possibile riutilizzare il file .azpkg e ignorare i passaggi seguenti per personalizzare il proprio pacchetto della galleria.

  4. Creare un modello di Azure Resource Manager o usare i modelli di esempio per Windows/Linux. Questi modelli di esempio vengono forniti nello strumento packager .zip file scaricato nel passaggio 1. È possibile usare il modello e modificare i campi di testo oppure scaricare un modello preconfigurato da GitHub. Per altre informazioni sui modelli di Azure Resource Manager, vedere modelli di Azure Resource Manager.

  5. Il pacchetto della raccolta deve contenere la struttura seguente:

    Screenshot della struttura del pacchetto Gallery

  6. Sostituire i seguenti valori evidenziati (quelli con numeri) nel modello Manifest.json con il valore che hai fornito durante il caricamento della tua immagine personalizzata.

    Nota

    Non incorporare mai in modo fisso segreti, come ad esempio Product Keys, password o informazioni dei clienti identificabili, nel modello di Azure Resource Manager. I file JSON di template sono accessibili senza necessità di autenticazione una volta pubblicati nella raccolta. Archiviare tutti i segreti nel Key Vault e richiamarli dall'interno del modello.

    Prima di pubblicare un modello personalizzato, è consigliabile pubblicare il as-is di esempio e assicurarsi che funzioni nell'ambiente. Dopo aver verificato il funzionamento di questo passaggio, eliminare l'esempio dalla raccolta e apportare modifiche iterative fino a quando non si è soddisfatti del risultato.

    Il modello seguente è un esempio del file 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"
             }]
        }]
    }
    

    L'elenco seguente illustra i valori numerati precedenti nel modello di esempio:

    • (1) - Nome dell'offerta.
    • (2) - Nome dell'editore, senza spazio.
    • (3) - Versione del modello, senza spazio.
    • (4) - Nome visualizzato dai clienti.
    • (5) - Nome dell'editore visualizzato dai clienti.
    • (6) - Nome legale dell'editore.
    • (7) - Percorso e nome per ogni icona.
  7. Per tutti i campi che fanno riferimento a ms-resource, è necessario modificare i valori appropriati all'interno del file stringhe/resources.json:

    {
    "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. La struttura dei file dei modelli di distribuzione viene visualizzata come segue:

    Modelli di distribuzione

    Sostituire i valori per l'immagine nel file createuidefinition.json con il valore specificato durante il caricamento dell'immagine personalizzata.

  9. Per assicurarsi che la risorsa possa essere distribuita correttamente, testare il modello con le API dell'hub di Azure Stack .

  10. Se il modello si basa su un'immagine di macchina virtuale (VM), seguire le istruzioni per aggiungere un'immagine di macchina virtuale all'hub di Azure Stack.

  11. Salvare il modello di Azure Resource Manager nella cartella /Contoso.TodoList/DeploymentTemplates/.

  12. Scegliere le icone e il testo per l'elemento marketplace. Aggiungere icone alla cartella Icone e aggiungere testo al file risorse nella cartella Stringhe. Usare piccola, media, grandee larga per le icone. Vedere il riferimento all'interfaccia utente degli elementi del Marketplace , sezione, per una descrizione dettagliata di queste dimensioni.

    Nota

    Tutte e quattro le dimensioni delle icone (piccole, medie, grandi, larghe) sono necessarie per creare correttamente l'elemento del Marketplace.

  13. Per ulteriori modifiche a Manifest.json, consultare il riferimento : elemento del marketplace manifest.json.

  14. Al termine della modifica dei file, convertirlo in un file con estensione azpkg. Si esegue la conversione usando lo strumento di AzureGallery.exe e il pacchetto della galleria di esempio scaricato in precedenza. Eseguire il comando seguente:

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

    Nota

    Il percorso di output può essere qualsiasi percorso scelto e non deve trovarsi nell'unità C: . Tuttavia, il percorso completo del file manifest.json e del pacchetto di output deve esistere. Ad esempio, se il percorso di output è C:\<path>\galleryPackageName.azpkg, la cartella C:\<path> deve esistere.

Pubblicare un elemento del Marketplace

  1. Usare PowerShell o Azure Storage Explorer per caricare l'elemento del Marketplace (.azpkg) nell'archivio BLOB di Azure. È possibile caricare nell'archiviazione locale di Azure Stack Hub o caricare su Azure Storage, che è un percorso temporaneo per il pacchetto. Assicurarsi che il blob sia accessibile pubblicamente.

  2. Per importare il pacchetto della raccolta nell'hub di Azure Stack, il primo passaggio consiste nel connettere in remoto (RDP) alla macchina virtuale client, per copiare il file appena creato nell'hub di Azure Stack.

  3. Aggiungere un contesto:

    $ArmEndpoint = "https://adminmanagement.local.azurestack.external"
    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint
    Connect-AzAccount -EnvironmentName "AzureStackAdmin"
    
  4. Eseguire lo script seguente per importare la risorsa nella raccolta:

    Add-AzsGalleryItem -GalleryItemUri `
    https://sample.blob.core.windows.net/<temporary blob name>/<offerName.publisherName.version>.azpkg -Verbose
    

    Se si verifica un errore durante l'esecuzione di Add-AzsGalleryItem, potrebbero essere installate due versioni del modulo gallery.admin. Rimuovere tutte le versioni del modulo e installare la versione più recente. Per informazioni sulla disinstallazione dei moduli di PowerShell, vedere Disinstallare le versioni esistenti dei moduli di PowerShell dell'hub di Azure Stack.

  5. Verificare di avere un account di archiviazione valido disponibile per archiviare l'elemento. È possibile ottenere il valore GalleryItemURI dal portale di amministrazione dell'hub di Azure Stack. Selezionare account di archiviazione -> Proprietà BLOB - URL>, con l'estensione .azpkg. L'account di archiviazione è destinato solo all'uso temporaneo, al fine di pubblicare nel marketplace.

    Dopo aver completato il pacchetto della raccolta e averlo caricato usando Add-AzsGalleryItem, la macchina virtuale personalizzata dovrebbe ora essere visualizzata nel Marketplace e nella visualizzazione Crea una risorsa. Si noti che il pacchetto della raccolta personalizzata non è visibile in Marketplace Management.

    Elemento del Marketplace personalizzato caricato

  6. Dopo aver pubblicato correttamente l'elemento nel marketplace, è possibile eliminare il contenuto dall'account di archiviazione.

    Tutti gli artefatti della raccolta predefiniti e gli artefatti della raccolta personalizzata sono ora accessibili senza autenticazione negli URL seguenti:

    • https://galleryartifacts.adminhosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
    • https://galleryartifacts.hosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
  7. È possibile rimuovere un elemento del Marketplace usando il cmdlet Remove-AzGalleryItem. Per esempio:

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

Nota

L'interfaccia utente del Marketplace può visualizzare un errore dopo la rimozione di un elemento. Per correggere l'errore, fare clic su Impostazioni nel portale. Successivamente, seleziona Ignora modifiche nella sezione Personalizzazione del portale.

Riferimento: elemento del Marketplace manifest.json

Informazioni sull'identità

Nome Obbligatorio Digitare Vincoli Descrizione
Nome X Corda [A-Za-z0-9]+
Editore X Corda [A-Za-z0-9]+
Versione X Stringa SemVer v2

Metadati

Nome Obbligatorio Digitare Vincoli Descrizione
Nome visualizzato X Corda Raccomandazione di 80 caratteri Il portale potrebbe non visualizzare correttamente il nome dell'elemento se supera i 80 caratteri.
NomeVisualizzatoEditore X Stringa Raccomandazione di 30 caratteri Il portale potrebbe non visualizzare correttamente il nome dell'editore se è più lungo di 30 caratteri.
NomeLegaleEditore X Stringa Massimo 256 caratteri
Sommario X Corda Da 60 a 100 caratteri
Riassunto lungo X Stringa Da 140 a 256 caratteri Non ancora applicabile nell'hub di Azure Stack.
Descrizione X HTML Da 500 a 5.000 caratteri

Immagini

Il Marketplace usa le icone seguenti:

Nome Larghezza Altezza Note
Largo 255 px 115 px Sempre obbligatorio
Grande 115 px 115 px Sempre obbligatorio
Medio 90 px 90 px Sempre obbligatorio
Piccolo 40 px 40 px Sempre obbligatorio
Screenshot 533 px 324 px Opzionale

Categorie

Ogni elemento del Marketplace deve essere contrassegnato con una categoria che identifica dove viene visualizzato l'elemento nell'interfaccia utente del portale. È possibile scegliere una delle categorie esistenti nell'hub di Azure Stack (Calcolo, dati e archiviazionee così via) o sceglierne una nuova.

Ogni elemento del Marketplace può includere vari collegamenti a contenuti aggiuntivi. I collegamenti vengono specificati come elenco di nomi e URI:

Nome Obbligatorio Digitare Vincoli Descrizione
Nome visualizzato X Stringa Massimo 64 caratteri.
Uri X URI

Proprietà aggiuntive

Oltre ai metadati precedenti, gli autori del Marketplace possono fornire dati di coppia chiave/valore personalizzati nel formato seguente:

Nome Obbligatorio Digitare Vincoli Descrizione
Nome Visualizzato X Stringa Massimo 25 caratteri.
Valore X Corda Massimo 30 caratteri.

Sanitizzazione HTML

Per qualsiasi campo che consenta il codice HTML, sono consentiti gli elementi e gli attributiseguenti:

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

Informazioni di riferimento: Interfaccia utente dell'elemento del Marketplace

Le icone e il testo per gli elementi del Marketplace, come illustrato nel portale dell'hub di Azure Stack, sono i seguenti.

Crea blade

Creare blade—elementi del Marketplace di Azure Stack Hub

Pannello dei dettagli dell'articolo nel Marketplace

scheda dei dettagli dell'elemento Marketplace dell'hub di Azure Stack

Passaggi successivi