Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cada elemento publicado en Marketplace de Azure Stack Hub usa el formato de paquete de galería de Azure (.azpkg). La herramienta Azure Gallery Packager permite crear un paquete de galería de Azure personalizado que puede cargar en Marketplace para Azure Stack Hub y que los usuarios pueden descargar. El proceso de implementación utiliza una plantilla de Azure Resource Manager.
Elementos de Marketplace
En los ejemplos de este artículo se muestra cómo crear una única oferta de Marketplace de máquina virtual, de tipo Windows o Linux.
Prerrequisitos
Antes de crear el elemento marketplace de la máquina virtual, haga lo siguiente:
- Cargue la imagen de máquina virtual personalizada en el portal de Azure Stack Hub siguiendo las instrucciones de Incorporación de una imagen de máquina virtual a Azure Stack Hub.
- Siga las instrucciones de este artículo para empaquetar la imagen (crear un archivo .azpkg) y cargarla en Marketplace de Azure Stack Hub.
Creación de un elemento para Marketplace
Para crear un elemento de Marketplace personalizado, haga lo siguiente:
Descargue la herramienta Azure Gallery Packager:
La herramienta incluye paquetes de ejemplo que están en el formato .azpkg y se deben extraer primero. Puede cambiar el nombre de las extensiones de archivo de ".azpkg" a ".zip" o usar una herramienta de archivador de su elección:
Una vez extraído, el archivo .zip contiene las plantillas de Linux o Windows Azure Resource Manager que están disponibles. Puede reutilizar las plantillas de Resource Manager predefinidas y modificar los parámetros respectivos con los detalles del producto del elemento que se mostrará en el portal de Azure Stack Hub. O bien, puede reutilizar el archivo .azpkg y omitir los pasos siguientes para personalizar su propio paquete de galería.
Cree una plantilla de Azure Resource Manager o use nuestras plantillas de ejemplo para Windows o Linux. Estas plantillas de ejemplo se proporcionan en el archivo .zip de la Packager que descargó en el paso 1. Puede usar la plantilla y cambiar los campos de texto, o bien descargar una plantilla preconfigurada desde GitHub. Para más información sobre las plantillas de Azure Resource Manager, consulte Plantillas de Azure Resource Manager.
El paquete de galería debe contener la siguiente estructura:
Reemplace los siguientes valores resaltados (aquellos con números) en la plantilla deManifest.json por el valor que proporcionó al cargar la imagen personalizada.
Nota:
Nunca codifique de forma rígida ningún secreto, como claves de producto, contraseña o información de identificación del cliente en la plantilla de Azure Resource Manager. Los archivos JSON de plantilla son accesibles sin necesidad de autenticación una vez publicados en la galería. Almacene todos los secretos en Key Vault y llámelos desde dentro de la plantilla.
Se recomienda que antes de publicar su propia plantilla personalizada, intente publicar el ejemplo tal cual y se asegure de que funciona en su entorno. Una vez que haya verificado que este paso funciona, elimine el ejemplo de la galería y realice cambios iterativos hasta que esté satisfecho con el resultado.
La plantilla siguiente es un ejemplo del archivo 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" }] }] }
En la lista siguiente se explican los valores numerados anteriores de la plantilla de ejemplo:
- (1) - Nombre de la oferta.
- (2) - El nombre del publicador, sin espacio.
- (3) - La versión de tu plantilla, sin espacios.
- (4) - El nombre que ven los clientes.
- (5) - El nombre del publicador que ven los clientes.
- (6) - El nombre legal del publicador.
- (7) - Ruta de acceso y nombre de cada icono.
Para todos los campos que hacen referencia a ms-resource, tiene que cambiar los valores correspondientes en el archivo strings/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 estructura de archivos de plantillas de implementación aparece de la siguiente manera:
Reemplace los valores de la imagen en el archivo createuidefinition.json por el valor que proporcionó al cargar la imagen personalizada.
Pruebe la plantilla con las API de Azure Stack Hub para asegurarse de que el recurso puede implementarse correctamente.
Si la plantilla se basa en una imagen de máquina virtual (VM), siga las instrucciones para agregar una imagen de máquina virtual a Azure Stack Hub.
Guarde la plantilla de Azure Resource Manager en la carpeta /Contoso.TodoList/DeploymentTemplates/ .
Elija los iconos y el texto para el elemento de Marketplace. Agregue iconos a la carpeta Iconos y agregue texto al archivo de recursos en la carpeta Cadenas . Use la convención de nomenclatura pequeña, mediana, grande y ancha para los iconos. Consulte la referencia de la interfaz de usuario del elemento de Marketplace para obtener una descripción detallada de estos tamaños.
Nota:
Los cuatro tamaños de icono (pequeños, medianos, grandes y anchos) son necesarios para compilar correctamente el elemento de Marketplace.
Para cualquier modificación adicional de Manifest.json, consulte la sección Referencia: manifest.json del elemento de Marketplace.
Cuando termine de modificar los archivos, conviértalos en archivos .azpkg. Para realizar la conversión, use la herramienta AzureGallery.exe y el paquete de galería de ejemplo que descargó anteriormente. Ejecute el siguiente comando:
.\AzureStackHubGallery.exe package -m c:\<path>\<gallery package name>\manifest.json -o c:\Temp
Nota:
La ruta de acceso de salida puede ser cualquier ruta de acceso que elija y no tiene que estar en la unidad C:. Sin embargo, debe existir la ruta de acceso completa al archivo manifest.json y al paquete de salida. Por ejemplo, si la ruta de acceso de salida es
C:\<path>\galleryPackageName.azpkg
, la carpetaC:\<path>
debe existir.
Publicación de un elemento de Marketplace
Use PowerShell o el Explorador de Azure Storage para cargar el elemento de Marketplace (.azpkg) a Azure Blob Storage. Puede realizar la carga en el almacenamiento de Azure Stack Hub local o en Azure Storage, una ubicación temporal del paquete. Asegúrese de que el blob es accesible públicamente.
Para importar el paquete de la galería en Azure Stack Hub, el primer paso es conectarse de forma remota (RDP) a la máquina virtual cliente, con el fin de copiar el archivo que acaba de crear en Azure Stack Hub.
Agregue un contexto:
$ArmEndpoint = "https://adminmanagement.local.azurestack.external" Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint Connect-AzAccount -EnvironmentName "AzureStackAdmin"
Ejecute el siguiente script para importar el recurso en la galería:
Add-AzsGalleryItem -GalleryItemUri ` https://sample.blob.core.windows.net/<temporary blob name>/<offerName.publisherName.version>.azpkg -Verbose
Si se produce un error al ejecutar Add-AzsGalleryItem, es posible que tenga instaladas dos versiones del
gallery.admin
módulo. Quite todas las versiones del módulo e instale la versión más reciente. Para ver los pasos para desinstalar los módulos de PowerShell, consulte Desinstalación de versiones existentes de los módulos de PowerShell de Azure Stack Hub.Compruebe que tiene una cuenta de almacenamiento válida que está disponible para almacenar el elemento. Puede obtener el valor de
GalleryItemURI
del portal del administrador de Azure Stack Hub. Seleccione Cuenta de almacenamiento:> Propiedades de blob:> dirección URL, con la extensión .azpkg. La cuenta de almacenamiento es solo para uso temporal, para publicar en Marketplace.Después de completar el paquete de la galería y cargarlo mediante Add-AzsGalleryItem, la máquina virtual personalizada debería aparecer ahora en Marketplace, así como en la vista Crear un recurso . Tenga en cuenta que el paquete de la galería personalizada no está visible en Administración de Marketplace.
Una vez que el elemento se ha publicado correctamente en Marketplace, puede eliminar el contenido de la cuenta de almacenamiento.
Ahora se puede acceder a todos los artefactos de la galería predeterminados y personalizados sin autenticación mediante las direcciones URL siguientes:
https://galleryartifacts.adminhosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
https://galleryartifacts.hosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
Puede quitar un elemento de Marketplace mediante el cmdlet Remove-AzGalleryItem. Por ejemplo:
Remove-AzsGalleryItem -Name <Gallery package name> -Verbose
Nota:
La interfaz de usuario de Marketplace puede mostrar un error después de quitar un elemento. Para corregir el error, haga clic en Configuración en el portal. A continuación, seleccione Descartar modificaciones en Personalización del portal.
Referencia: Artículo manifest.json de Marketplace
Información de identidad
Nombre | Obligatorio | Tipo | Restricciones | Descripción |
---|---|---|---|---|
Nombre | X | Cuerda | [A-Za-z0-9]+ | |
Publicador | X | Cuerda | [A-Za-z0-9]+ | |
Versión | X | Cuerda | SemVer v2 |
Metadatos
Nombre | Obligatorio | Tipo | Restricciones | Descripción |
---|---|---|---|---|
DisplayName | X | Cuerda | Recomendación de 80 caracteres | Es posible que el portal no muestre el nombre del elemento correctamente si tiene más de 80 caracteres. |
PublisherDisplayName | X | Cuerda | Recomendación de 30 caracteres | Es posible que el portal no muestre el nombre del publicador correctamente si tiene más de 30 caracteres. |
PublisherLegalName | X | Cuerda | Máximo de 256 caracteres | |
Resumen | X | Cuerda | De 60 a 100 caracteres | |
Resumen extenso | X | Cuerda | De 140 a 256 caracteres | Todavía no es aplicable en Azure Stack Hub. |
Descripción | X | HTML | De 500 a 5000 caracteres |
Imágenes
Marketplace usa los siguientes iconos:
Nombre | Ancho | Altura | Notas |
---|---|---|---|
Ancho | 255 px | 115 px | Siempre necesario |
grande | 115 px | 115 px | Siempre necesario |
Media | 90 px | 90 px | Siempre necesario |
Pequeño | 40 px | 40 px | Siempre necesario |
Captura de pantalla | 533 px | 324 px | Opcional |
Categorías
Cada elemento de Marketplace debe etiquetarse con una categoría que identifique dónde aparece el elemento en la interfaz de usuario del portal. Puede elegir una de las categorías existentes en Azure Stack Hub (Proceso, Datos y almacenamiento, etc.) o elegir una nueva.
Enlaces
Cada elemento de Marketplace puede incluir varios vínculos a contenido adicional. Los vínculos se especifican como una lista de nombres y URI:
Nombre | Obligatorio | Tipo | Restricciones | Descripción |
---|---|---|---|---|
DisplayName | X | Cuerda | Máximo de 64 caracteres. | |
Identificador URI | X | URI |
Propiedades adicionales
Además de los metadatos anteriores, los autores de Marketplace pueden proporcionar datos de pares clave-valor personalizados de la siguiente forma:
Nombre | Obligatorio | Tipo | Restricciones | Descripción |
---|---|---|---|---|
DisplayName | X | Cuerda | Máximo de 25 caracteres. | |
Importancia | X | Cuerda | Máximo de 30 caracteres. |
Saneamiento de HTML
Para cualquier campo que permita HTML, se permiten los siguientes elementos y atributos:
h1, h2, h3, h4, h5, p, ol, ul, li, a[target|href], br, strong, em, b, i
Referencia: UI del elemento de Marketplace
Los iconos y el texto de los elementos de Marketplace, como se muestra en el portal de Azure Stack Hub, son los siguientes.