Membuat dan menerbitkan item Marketplace Azure Stack Hub kustom

Setiap item yang diterbitkan ke Marketplace Azure Stack Hub menggunakan format Azure Gallery Package (.azpkg). Alat Azure Gallery Packager memungkinkan Anda membuat paket Azure Gallery kustom yang dapat diunggah ke Marketplace Azure Stack Hub, yang kemudian dapat diunduh oleh pengguna. Proses penyebaran menggunakan template Azure Resource Manager.

Item marketplace

Contoh dalam artikel ini menunjukkan cara membuat penawaran satu Marketplace mesin virtual, jenis Windows atau Linux.

Prasyarat

Sebelum membuat item marketplace mesin virtual, lakukan hal berikut ini:

  1. Unggah gambar mesin virtual kustom ke portal Azure Stack Hub, mengikuti petunjuk di Menambahkan gambar mesin virtual ke Azure Stack Hub.
  2. Ikuti petunjuk dalam artikel ini untuk mengemas gambar (membuat .azpkg) dan unggah ke Marketplace Azure Stack Hub.

Membuat item Marketplace

Untuk membuat item marketplace kustom, lakukan hal berikut:

  1. Unduh alat Azure Gallery Packager:

    Packager galeri

  2. Alat ini mencakup paket sampel yang ada dalam format .azpkg, dan harus diekstraksi terlebih dahulu. Anda dapat mengganti nama ekstensi file dari ".azpkg" menjadi ".zip," atau menggunakan alat pengarsip pilihan Anda:

    Paket sampel

  3. Setelah diekstraksi, file .zip berisi templat Azure Resource Manager Linux atau Windows yang tersedia. Anda dapat menggunakan kembali templat Resource Manager yang telah dibuat sebelumnya, dan memodifikasi parameter masing-masing dengan detail produk item yang akan Anda tampilkan di portal Azure Stack Hub Anda. Atau, Anda dapat menggunakan kembali file .azpkg dan melewatkan langkah-langkah berikut untuk menyesuaikan paket galeri Anda sendiri.

  4. Buat template Azure Resource Manager atau gunakan template sampel kami untuk Windows/Linux. Contoh template ini disediakan dalam file .zip alat pembuat paket yang Anda unduh pada langkah 1. Anda dapat menggunakan templat dan mengubah bidang teks, atau Anda dapat mengunduh templat yang telah dikonfigurasi sebelumnya dari GitHub. Untuk informasi selengkapnya tentang templat Azure Resource Manager, lihat Templat Azure Resource Manager.

  5. Paket Galeri harus berisi struktur berikut:

    Cuplikan layar struktur paket Galeri

  6. Ganti nilai yang disorot berikut (yang memiliki angka) di templat Manifest.json dengan nilai yang Anda berikan saat mengunggah gambar kustom Anda.

    Catatan

    Jangan pernah mengodekan rahasia apa pun seperti kunci produk, kata sandi, atau informasi yang dapat diidentifikasi tentang pelanggan dalam templat Azure Resource Manager. Templat file JSON dapat diakses tanpa perlu autentikasi setelah dipublikasikan di galeri. Simpan semua rahasia di Azure Key Vault dan panggil dari dalam templat.

    Sebaiknya sebelum menerbitkan template kustom Anda sendiri, Anda mencoba untuk menerbitkan sampel apa adanya dan memastikannya berfungsi di lingkungan Anda. Setelah memverifikasi langkah ini berfungsi, hapus sampel dari galeri dan buat beberapa perubahan hingga Anda puas dengan hasilnya.

    Template berikut adalah sampel 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"
             }]
        }]
    }
    

    Daftar berikut menjelaskan nilai bernomor sebelumnya dalam template contoh:

    • (1) - Nama penawaran.
    • (2) - Nama penerbit, tanpa spasi.
    • (3) - Versi templat Anda, tanpa spasi.
    • (4) - Nama yang dilihat pelanggan.
    • (5) - Nama penerbit yang dilihat pelanggan.
    • (6) - Nama resmi penerbit.
    • (7) - Jalur dan nama untuk setiap ikon.
  7. Untuk semua bidang yang mengacu pada ms-resource, Anda harus mengubah nilai yang sesuai di dalam file 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"
    }
    
  8. Struktur file templat penyebaran muncul sebagai berikut:

    Templat penyebaran

    Ganti nilai untuk gambar dalam file createuidefinition.json dengan nilai yang Anda berikan saat mengunggah gambar kustom Anda.

  9. Untuk memastikan bahwa sumber daya dapat berhasil disebarkan, uji template dengan API Azure Stack Hub.

  10. Jika templat Anda mengandalkan gambar mesin virtual (VM), ikuti petunjuk untuk menambahkan gambar mesin virtual ke Azure Stack Hub.

  11. Simpan template Azure Resource Manager Anda di folder /Contoso.TodoList/DeploymentTemplates/.

  12. Pilih ikon dan teks untuk item Marketplace Anda. Tambahkan ikon ke Ikon, dan tambahkan teks ke file sumber dalam folder Untai (karakter). Gunakan konvensi penamaan kecil, sedang, besar, dan lebar untuk ikon. Lihat referensi antarmuka pengguna item Marketplace untuk deskripsi detail tentang ukuran ini.

    Catatan

    Keempat ukuran ikon (kecil, sedang, besar, lebar) diperlukan untuk membangun item Marketplace dengan benar.

  13. Untuk pengeditan lebih lanjut ke Manifest.json, lihat Referensi: Item Marketplace manifest.json.

  14. Setelah selesai memodifikasi file Anda, konversikan ke file .azpkg. Anda melakukan konversi menggunakan alat AzureGallery.exe dan paket galeri sampel yang Anda unduh sebelumnya. Jalankan perintah berikut:

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

    Catatan

    Jalur output dapat menjadi jalur apa pun yang Anda pilih, dan tidak harus berada di bawah drive C:. Namun, jalur lengkap ke file manifest.json, dan paket output, harus ada. Misalnya, jika jalur output adalah C:\<path>\galleryPackageName.azpkg, folder C:\<path> harus ada.

Menerbitkan item Marketplace

  1. Gunakan PowerShell atau Azure Storage Explorer untuk mengunggah item Marketplace Anda (.azpkg) ke penyimpanan Blob Azure. Anda dapat mengunggah ke penyimpanan Azure Stack Hub lokal atau mengunggah ke Azure Storage, yang merupakan lokasi sementara untuk paket tersebut. Pastikan bahwa blob dapat diakses publik.

  2. Untuk mengimpor paket galeri ke Azure Stack Hub, langkah pertama adalah menghubungkan dari jarak jauh (RDP) ke mesin virtual klien, untuk menyalin file yang baru saja Anda buat ke Azure Stack Hub Anda.

  3. Tambahkan konteks:

    $ArmEndpoint = "https://adminmanagement.local.azurestack.external"
    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $ArmEndpoint
    Connect-AzAccount -EnvironmentName "AzureStackAdmin"
    
  4. Jalankan skrip berikut untuk mengimpor sumber daya ke galeri Anda:

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

    Jika Anda mengalami kesalahan saat menjalankan Add-AzsGalleryItem, Anda mungkin memiliki dua versi gallery.admin modul yang dipasang. Hapus semua versi modul, dan pasang versi terbaru. Untuk langkah-langkah menghapus penginstalan modul PowerShell Anda, lihat Menghapus penginstalan versi modul Azure Stack Hub PowerShell yang ada.

  5. Verifikasi bahwa Anda memiliki akun Penyimpanan yang valid yang tersedia untuk menyimpan item Anda. Anda bisa mendapatkan nilai GalleryItemURI dari portal administrator Azure Stack Hub. Pilih Akun penyimpanan -> Properti Blob -> URL, dengan ekstensi .azpkg. Akun penyimpanan hanya untuk penggunaan sementara, untuk diterbitkan ke marketplace.

    Setelah menyelesaikan paket galeri Anda dan mengunggahnya menggunakan Add-AzsGalleryItem, mesin virtual kustom Anda sekarang akan muncul di Marketplace serta dalam tampilan Membuat sumber daya. Perhatikan bahwa paket galeri kustom tidak terlihat di Manajemen Marketplace.

    Item marketplace kustom diunggah

  6. Setelah item Anda berhasil diterbitkan ke marketplace, Anda dapat menghapus konten dari akun penyimpanan.

    Semua artefak galeri default dan artefak galeri kustom Anda sekarang dapat diakses tanpa autentikasi di bawah URL berikut:

    • https://galleryartifacts.adminhosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
    • https://galleryartifacts.hosting.[Region].[externalFQDN]/artifact/20161101/[TemplateName]/DeploymentTemplates/Template.json
  7. Anda dapat menghapus item Marketplace dengan menggunakan cmdlet Remove-AzGalleryItem. Contohnya:

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

Catatan

Antarmuka pengguna Marketplace mungkin menunjukkan kesalahan setelah Anda menghapus item. Untuk memperbaiki kesalahan, klik Pengaturan di portal. Kemudian, pilih Buang modifikasi di bawah kustomisasi Portal.

Referensi: Item Marketplace manifest.json

Informasi identitas

Nama Diperlukan Jenis Batasan Deskripsi
Nama X Untai [A-Za-z0-9]+
Publisher X Untai [A-Za-z0-9]+
Versi X Untai SemVer v2

Metadata

Nama Diperlukan Jenis Batasan Deskripsi
DisplayName X Untai Rekomendasi 80 karakter Portal mungkin tidak menampilkan nama item Anda dengan benar jika lebih dari 80 karakter.
PublisherDisplayName X Untai Rekomendasi 30 karakter Portal mungkin tidak menampilkan nama penerbit Anda dengan benar jika lebih dari 30 karakter.
PublisherLegalName X Untai Maksimum 256 karakter
Ringkasan X Untai 60 hingga 100 karakter
LongSummary X Untai 140 hingga 256 karakter Belum berlaku di Azure Stack Hub.
Deskripsi X HTML 500 hingga 5.000 karakter

Gambar

Marketplace menggunakan ikon berikut:

Nama Lebar Tinggi Catatan
Lebar 255 px 115 px Selalu diperlukan
Besar 115 px 115 px Selalu diperlukan
Medium 90 px 90 px Selalu diperlukan
Kecil 40 px 40 px Selalu diperlukan
Cuplikan layar 533 px 324 px Opsional

Kategori

Setiap item Marketplace harus di-tag dengan kategori yang mengidentifikasi tempat item muncul di antarmuka pengguna portal. Anda dapat memilih salah satu kategori yang ada di Azure Stack Hub (Azure Compute, Data + Storage, dan sebagainya) atau memilih yang baru.

Setiap item Marketplace dapat menyertakan berbagai link ke konten tambahan. Link ditentukan sebagai daftar nama dan URI:

Nama Diperlukan Jenis Batasan Deskripsi
DisplayName X Untai Maksimum 64 karakter.
Uri X URI

Properti tambahan

Selain metadata sebelumnya, penulis Marketplace dapat memberikan data pasangan kunci/nilai kustom dalam formulir berikut:

Nama Diperlukan Jenis Batasan Deskripsi
DisplayName X Untai Maksimum 25 karakter.
Nilai X Untai Maksimum 30 karakter.

Sanitasi HTML

Untuk bidang apa pun yang memungkinkan HTML, elemen dan atribut berikut diizinkan:

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

Referensi: antarmuka pengguna item Marketplace

Ikon dan teks untuk item Marketplace seperti yang terlihat di portal Azure Stack Hub adalah sebagai berikut.

Buat blade

Buat bilah--Item Marketplace Azure Stack Hub

Bilah detail item Marketplace

Bilah detail item Marketplace Azure Stack Hub

Langkah berikutnya