Créer et publier un élément personnalisé de la Place de marché Azure Stack Hub
Chaque élément publié sur la Place de marché Azure Stack Hub utilise le format du package de galerie Azure (.azpkg). L’outil Packager de la galerie Azure
Articles du marché
Les exemples de cet article montrent comment créer une offre de la Place de marché de machines virtuelles unique, de type Windows ou Linux.
Conditions préalables
Avant de créer l’élément de la Place de marché de machines virtuelles, procédez comme suit :
- Chargez l’image de machine virtuelle personnalisée dans le portail Azure Stack Hub, en suivant les instructions de Ajouter une image de machine virtuelle à Azure Stack Hub.
- Suivez les instructions de cet article pour empaqueter l’image (créer un fichier .azpkg) et la charger sur la Place de marché Azure Stack Hub.
Créer un élément de la Place de marché
Pour créer un élément de place de marché personnalisé, procédez comme suit :
Téléchargez l’outil Azure Gallery Packager :
L’outil inclut des exemples de packages au format .azpkg et doit d’abord être extrait. Vous pouvez renommer les extensions de fichier de .azpkg en «.zip», ou utiliser un outil d’archivage de votre choix :
Une fois extrait, le fichier .zip contient les modèles Linux ou Windows Azure Resource Manager disponibles. Vous pouvez réutiliser les modèles Resource Manager prédéfinis et modifier les paramètres respectifs avec les détails du produit de l’élément que vous allez afficher sur votre portail Azure Stack Hub. Vous pouvez également réutiliser le fichier .azpkg et ignorer les étapes suivantes pour personnaliser votre propre package de galerie.
Créez un modèle Azure Resource Manager ou utilisez nos exemples de modèles pour Windows/Linux. Ces modèles d'exemples sont fournis dans le fichier .zip de l’outil packager que vous avez téléchargé à l’étape 1. Vous pouvez utiliser le modèle et modifier les champs de texte, ou télécharger un modèle préconfiguré à partir de GitHub. Pour plus d’informations sur les modèles Azure Resource Manager, consultez modèles Azure Resource Manager.
Le package Gallery doit contenir la structure suivante :
Capture d’écran
Remplacez les valeurs mises en surbrillance suivantes (celles par des nombres) dans le modèle Manifest.json par la valeur que vous avez fournie lors du chargement de votre image personnalisée.
Remarque
Ne codez jamais en dur les secrets tels que les clés de produit, le mot de passe ou les informations d’identification du client dans le modèle Azure Resource Manager. Les fichiers JSON de modèle sont accessibles sans avoir besoin d’authentification une fois publiés dans la galerie. Stockez tous les secrets dans Key Vault et appelez-les à partir du modèle.
Il est recommandé de publier votre propre modèle personnalisé avant de publier l’exemple de as-is et de vous assurer qu’il fonctionne dans votre environnement. Une fois que vous avez vérifié que cette étape fonctionne, supprimez l’exemple de la galerie et apportez des modifications itératives jusqu’à ce que vous soyez satisfait du résultat.
Le modèle suivant est un exemple du fichier 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" }] }] }
La liste suivante décrit les valeurs numérotées précédentes dans l’exemple de modèle :
- (1) - Nom de l’offre.
- (2) - Nom de l’éditeur, sans espace.
- (3) - Version de votre modèle, sans espace.
- (4) - Nom que les clients voient.
- (5) : nom de l’éditeur que les clients voient.
- (6) - Nom légal de l’éditeur.
- (7) : chemin d’accès et nom de chaque icône.
Pour tous les champs faisant référence à ms-resource, vous devez modifier les valeurs appropriées dans le fichier chaînes/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" }
La structure de fichiers des modèles de déploiement s’affiche comme suit :
modèles de déploiement
Remplacez les valeurs de l’image dans le fichier createuidefinition.json par la valeur que vous avez fournie lors du chargement de votre image personnalisée.
Pour vous assurer que la ressource peut être déployée avec succès, testez le modèle avec les API Azure Stack Hub.
Si votre modèle s’appuie sur une image de machine virtuelle, suivez les instructions pour ajouter une image de machine virtuelle à Azure Stack Hub.
Enregistrez votre modèle Azure Resource Manager dans le dossier /Contoso.TodoList/DeploymentTemplates/.
Choisissez les icônes et le texte de votre élément de la Place de marché. Ajoutez des icônes au dossier icônes, et ajoutez du texte au fichier de ressources dans le dossier Strings. Utilisez la convention de dénomination petite, moyenne, grande, et large pour les icônes. Vous trouverez une description détaillée sur la page Référence : interface utilisateur de l’article de Place de marché.
Remarque
Les quatre tailles d’icônes (petites, moyennes, grandes, larges) sont requises pour créer correctement l’élément de la Place de marché.
Pour toute modification supplémentaire de Manifest.json, consultez la Référence : article du marché manifest.json.
Une fois que vous avez fini de modifier vos fichiers, convertissez-le en fichier .azpkg. Vous effectuez la conversion à l’aide de l’outil AzureGallery.exe et de l’exemple de package de galerie que vous avez téléchargé précédemment. Exécutez la commande suivante :
.\AzureStackHubGallery.exe package -m c:\<path>\<gallery package name>\manifest.json -o c:\Temp
Remarque
Le chemin de sortie peut être n’importe quel chemin de votre choix et ne doit pas nécessairement se trouver sous le lecteur C :. Toutefois, le chemin d’accès complet au fichier manifest.json et au package de sortie doit exister. Par exemple, si le chemin de sortie est
C:\<path>\galleryPackageName.azpkg
, le dossierC:\<path>
doit exister.
Publier un élément de la Place de marché
Utilisez PowerShell ou l’Explorateur Stockage Azure pour charger votre élément de la Place de marché (.azpkg) dans stockage Blob Azure. Vous pouvez charger vers le stockage Azure Stack Hub local ou le charger vers Stockage Azure, qui est un emplacement temporaire pour le package. Assurez-vous que l’objet blob est accessible publiquement.
Pour importer le package de galerie dans Azure Stack Hub, la première étape consiste à se connecter à distance (RDP) à la machine virtuelle cliente afin de copier le fichier que vous venez de créer dans votre instance Azure Stack Hub.
Ajoutez un contexte :
$ArmEndpoint = "https://adminmanagement.local.azurestack.external" Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint Connect-AzAccount -EnvironmentName "AzureStackAdmin"
Exécutez le script suivant pour importer la ressource dans votre galerie :
Add-AzsGalleryItem -GalleryItemUri ` https://sample.blob.core.windows.net/<temporary blob name>/<offerName.publisherName.version>.azpkg -Verbose
Si vous rencontrez une erreur lors de l’exécution de Add-AzsGalleryItem, vous pouvez avoir deux versions du module
gallery.admin
installées. Supprimez toutes les versions du module et installez la dernière version. Pour connaître les étapes de désinstallation de vos modules PowerShell, consultez Désinstaller les versions existantes des modules PowerShell Azure Stack Hub.Vérifiez que vous disposez d’un compte de stockage valide disponible pour stocker votre élément. Vous pouvez obtenir la valeur
GalleryItemURI
à partir du portail d’administration Azure Stack Hub. Sélectionnez Compte de stockage -> Propriétés de blob -> URL, avec l’extension .azpkg. Le compte de stockage est uniquement destiné à une utilisation temporaire, afin de publier sur la Place de marché.Une fois que vous avez terminé votre package de galerie et que vous l’avez chargé avec Add-AzsGalleryItem, votre machine virtuelle personnalisée doit maintenant apparaître dans la Place de marché ainsi que dans la vue Créer une ressource. Notez que le package de galerie personnalisée n’est pas visible dans Marketplace Management.
Une fois que votre élément a été publié avec succès sur la Place de marché, vous pouvez supprimer le contenu du compte de stockage.
Tous les artefacts de galerie par défaut et vos artefacts de galerie personnalisés sont désormais accessibles sans authentification sous les URL suivantes :
https://galleryartifacts.adminhosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
https://galleryartifacts.hosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
Vous pouvez supprimer un élément de la Place de marché à l’aide de l’applet de commande Remove-AzGalleryItem
. Par exemple: Remove-AzsGalleryItem -Name <Gallery package name> -Verbose
Remarque
L’interface utilisateur de la Place de marché peut afficher une erreur après avoir supprimé un élément. Pour corriger l’erreur, cliquez sur Paramètres dans le portail. Sélectionnez ensuite Ignorer les modifications sous Personnalisation du portail.
Référence : article du Marketplace manifest.json
Informations d’identité
Nom | Obligatoire | Type | Contraintes | Description |
---|---|---|---|---|
Nom | X | Chaîne | [A-Za-z0-9]+ | |
Éditeur | X | Chaîne | [A-Za-z0-9]+ | |
Version | X | Chaîne | SemVer v2 |
Métadonnées
Nom | Obligatoire | Type | Contraintes | Description |
---|---|---|---|---|
DisplayName | X | Chaîne | Recommandation de 80 caractères | Le portail peut ne pas afficher correctement le nom de votre élément s’il dépasse 80 caractères. |
PublisherDisplayName | X | Chaîne | Recommandation de 30 caractères | Le portail peut ne pas afficher correctement le nom de votre éditeur s’il dépasse 30 caractères. |
PublisherLegalName | X | Chaîne | Maximum de 256 caractères | |
Résumé | X | String | 60 à 100 caractères | |
LongSummary | X | Chaîne | 140 à 256 caractères | Non encore applicable dans Azure Stack Hub. |
Description | X | HTML | 500 à 5 000 caractères |
Images
La Place de marché utilise les icônes suivantes :
Nom | Largeur | Hauteur | Notes |
---|---|---|---|
Paysage | 255 px | 115 px | Toujours obligatoire |
grand | 115 px | 115 px | Toujours obligatoire |
Moyenne | 90 px | 90 px | Toujours obligatoire |
Petit | 40 px | 40 px | Toujours obligatoire |
Capture d’écran | 533 px | 324 px | Optionnel |
Catégories
Chaque élément de la Place de marché doit être marqué avec une catégorie qui identifie où l’élément apparaît sur l’interface utilisateur du portail. Vous pouvez choisir l’une des catégories existantes dans Azure Stack Hub (Calcul, Données + Stockage, et ainsi de suite) ou en choisir une nouvelle.
Liens
Chaque élément de la Place de marché peut inclure différents liens vers du contenu supplémentaire. Les liens sont spécifiés sous la forme d’une liste de noms et d’URI :
Nom | Obligatoire | Type | Contraintes | Description |
---|---|---|---|---|
DisplayName | X | Chaîne | Maximum de 64 caractères. | |
Uri | X | URI |
Propriétés supplémentaires
En plus des métadonnées précédentes, les auteurs de la Place de marché peuvent fournir des données de paire clé/valeur personnalisées sous la forme suivante :
Nom | Obligatoire | Type | Contraintes | Description |
---|---|---|---|---|
DisplayName | X | Chaîne | Maximum de 25 caractères. | |
Valeur | X | Chaîne | Maximum de 30 caractères. |
Nettoyage du HTML
Pour tout champ qui autorise le code HTML, les éléments et attributs de suivants sont autorisés:
h1, h2, h3, h4, h5, p, ol, ul, li, a[target|href], br, strong, em, b, i
Référence : interface utilisateur d’article de Marketplace
Les icônes et le texte des éléments de la Place de marché comme indiqué dans le portail Azure Stack Hub sont les suivants.
Créer une lame
Panneau Détails de l’élément du Marketplace
Étapes suivantes
- vue d’ensemble de la Place de marché Azure Stack Hub
- Télécharger les éléments de la Place de marché
- Format et structure des modèles Azure Resource Manager