View a markdown version of this page

Menggunakan AWS Marketplace API Katalog - AWS Marketplace

Referensi API AWS Marketplace direstrukturisasi. Untuk informasi selengkapnya tentang operasi API yang didukung, lihat Referensi API AWS Marketplace.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan AWS Marketplace API Katalog

AWS Marketplace Catalog API Layanan ini menyediakan antarmuka API AWS Marketplace untuk mengelola AWS organisasi Anda atau Akun AWS. Untuk penjual yang disetujui, Anda dapat mengelola produk Anda secara terprogram, termasuk kemampuan penerbitan swalayan di. Portal Manajemen AWS Marketplace Untuk administrator pasar pribadi, Anda dapat mengelola pasar pribadi Anda secara terprogram.

Dengan tindakan API Katalog, Anda dapat melihat dan memperbarui produk yang ada secara terprogram. Anda dapat mengotomatiskan proses pembaruan produk Anda dengan mengintegrasikan AWS Marketplace Catalog API dengan pipeline build atau deployment AWS Marketplace produk Anda. Anda juga dapat membuat aplikasi sendiri di atas API Katalog untuk mengelola produk Anda AWS Marketplace. Anda dapat mengelola produk yang dapat dilihat dan dibeli oleh pengguna di Akun AWS atau AWS organisasi Anda melalui pasar pribadi Anda.

AWS Marketplace Catalog API Layanan ini menyediakan fungsionalitas AWS API standar. Anda dapat langsung menggunakan tindakan REST API yang dijelaskan dalam Tindakan, atau Anda dapat menggunakan AWS SDK untuk mengakses API yang disesuaikan dengan bahasa pemrograman atau platform yang Anda gunakan. Untuk informasi selengkapnya tentang pengembangan AWS aplikasi, lihat Memulai dengan AWS. Untuk informasi selengkapnya tentang penggunaan AWS SDK, lihat AWS SDK.

Entitas API Katalog

AWS Marketplace entitas adalah wadah data yang melayani tujuan bisnis yang berbeda, seperti produk atau penawaran. Entitas dikategorikan berdasarkan jenis. Setiap jenis entitas merangkum data yang terkait dengan domain bisnis tertentu (misalnya, produk atau akun penjual).

Untuk menyederhanakan paradigma ini, entitas dirancang dengan beberapa tingkat kesamaan dalam strukturnya. Akibatnya, memperkenalkan domain bisnis baru tidak mengharuskan Anda mempelajari struktur yang sama sekali baru.

Struktur umum

Struktur umum entitas apa pun adalah:

  • Tipe bernama dengan versi

  • Pengidentifikasi untuk contoh spesifik dari jenis

  • Satu atau lebih aspek yang mencakup atribut entitas

Ketik versi

Setiap tipe bernama memiliki tipe dan versi yang terkait dengannya, misalnya,EntityProduct@1.0. Jenis (EntityProduk) mewakili klasifikasi konten. Versi (1.0) mewakili struktur Entity Produk.

Versi ini memberi Anda detail tentang struktur entitas. Berikut ini menjelaskan kapan versi akan diubah:

  • Entitas yang ada tidak akan direstrukturisasi tanpa mengubah versi. Penambahan bidang baru opsional akan menghasilkan pembaruan versi minor.

  • Fitur apa pun yang secara mendasar mengubah struktur suatu tipe mengarah ke pembaruan versi utama. Contohnya termasuk:

    • Menghapus bidang

    • Mengganti nama bidang (nama berbeda untuk semantik yang sama)

    • Mengubah semantik bidang yang ada (misalnya, mengubah jenis yang diharapkan)

  • Pembaruan versi utama dapat mempertahankan subset aspek dari versi sebelumnya.

  • Pengguna diberikan pemberitahuan dan dokumentasi untuk versi baru.

Pengidentifikasi

Setiap entitas mewakili hal unik dalam domain bisnis. Untuk mengidentifikasi hal yang unik, kami menggunakan pengidentifikasi yang mengaitkan EntityId denganRevisionId, misalnya, prod-ad8EXAMPLE651 @. 3 Dalam contoh ini, EntityId adalah prod-ad8EXAMPLE651 dan RevisionId adalah3. Setiap permintaan perubahan yang berhasil ke entitas akan memperbarui revisi.

Berikut ini adalah detail penting tentang pengenal:

  • Setiap entitas secara unik diidentifikasi olehnyaEntityId, yang merupakan kunci untuk membedakan satu entitas secara global dari yang lain.

  • Setiap revisi yang diterbitkan dari suatu entitas memiliki aRevisionId. ItuRevisionId, bersama denganEntityId, membedakan satu revisi yang diterbitkan dari yang lain.

  • AWS Marketplace menghasilkan EntityId s dan RevisionId s.

Anda dapat menggunakan DescribeEntity tindakan untuk menemukan detail dan Identifier dengan yang terbarurevisionId.

RevisionIdIni adalah bagian opsional dari permintaan untuk StartChangeSet (lihatBekerja dengan set perubahan). Jika Anda menyertakan aRevisionId, maka permintaan untuk StartChangeSet akan gagal dengan ValidationException jika RevisionId bukan revisi terbaru dari entitas. Ini memungkinkan Anda untuk menerapkan penguncian optimis dalam aplikasi Anda.

catatan

Ketika Anda menyertakan RevisionId yang bukan revisi terbaru, ValidationException pesan termasuk yang terbaruRevisionId.

Jika Anda menghilangkanRevisionId, permintaan dilakukan pada revisi terbaru entitas secara otomatis.

Awas

Dua permintaan untuk mengubah objek yang sama dapat mengakibatkan satu permintaan menimpa perubahan permintaan lainnya, karena permintaan kedua menulis ulang data yang diubah oleh permintaan pertama. Menggunakan RevisionId s dalam permintaan Anda mencegah masalah ini dengan tidak mengizinkan perubahan pada revisi sebelumnya untuk menimpa revisi saat ini.

Faset

Sebuah facet adalah pengelompokan atribut yang logis. Entitas biasanya mencakup beberapa aspek yang mewakili aspek yang berbeda dari entitas. Atribut dalam sebuah facet memiliki properti sebagai berikut:

  • Setiap atribut memiliki nama unik dalam lingkup wadah miliknya.

  • Atribut dapat berupa tipe sederhana (string, integer, atau angka mengambang).

  • Atribut dapat berupa tipe kompleks (container/structure atau array).

Jenis entitas

Tipe entitas mendefinisikan apa yang diwakili entitas. Entitas dapat berupa produk penjual di AWS Marketplace atau pasar pribadi. Untuk informasi selengkapnya, lihat Bekerja dengan produk penjual dan Bekerja dengan pasar pribadi.

Bekerja dengan set perubahan

Saat menggunakan API Katalog, permintaan dibuat dan diperbarui melalui entitas dan diselesaikan dengan menggunakan permintaan perubahan. Setiap perubahan menentukan entitas yang akan diubah, jenis perubahan yang akan dilakukan, dan rincian perubahan. Jenis perubahan yang akan dilakukan disebut aChangeType. Koleksi ChangeType s disebut aChangeSet.

Ada empat tindakan yang memungkinkan Anda bekerja dengan set perubahan:

  • StartChangeSet— Meminta serangkaian perubahan. Perubahan ditambahkan ke antrian dan diproses. Untuk informasi selengkapnya, lihat Bekerja dengan produk penjual dan Bekerja dengan pasar pribadi.

  • DescribeChangeSet— Mendapat rincian serangkaian perubahan, termasuk status permintaan. Status meliputi:

    • PREPARING— Bersiap-siap untuk menerapkan perubahan.

    • APPLYING— Dalam proses membuat perubahan yang diminta.

    • SUCCEEDED— Permintaan berhasil diselesaikan.

    • CANCELLED— Permintaan dibatalkan oleh pengguna.

    • FAILED— Permintaan diselesaikan tidak berhasil. Rincian lebih lanjut tersedia dalam tanggapan.

  • ListChangeSets— Mendapat daftar set perubahan yang sedang dalam proses.

  • CancelChangeSet— Permintaan set perubahan dibatalkan. Perubahan hanya dapat dibatalkan saat berada dalam PREPARING status.

Alur kerja tipikal adalah meminta perubahan denganStartChangeSet, dan kemudian menggunakan yang dikembalikan ChangeSetId untuk melakukan polling DescribeChangeSet tindakan hingga perubahan selesai.

Berikut ini adalah contoh DescribeChangeSet responsnya.

{ "ChangeSet": [ { "ChangeName": "myChangeName", "ChangeType": "UpdateInformation", "Details": "{ \"ProductTitle\": \"My Product Title\", \"ShortDescription\": \"My product short description.\", \"LongDescription\": \"My product longer description.\", \"Sku\": \"123example456\", \"SupportDescription\": \"Need help? Contact our experts at support@example.com\\n\\nYour purchase includes 24x7 support.\", \"Categories\": [ \"Operating Systems\", \"Network Infrastructure\", \"Application Development\" ]}", "DetailsDocument": { "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product longer description.", "Sku": "123example456", "SupportDescription": "Need help? Contact our experts at support@example.com\n\nYour purchase includes 24x7 support.", "Categories": [ "Operating Systems", "Network Infrastructure", "Application Development" ] }, "Entity": { "Identifier": "example1-abcd-1234-5ef6-7890abcdef12", "Type": "AmiProduct@1.0" }, "ErrorDetailList": [] } ], "ChangeSetArn": "arn:aws:aws-marketplace:[exampleARN]", "ChangeSetId": "example123456789012abcdef", "ChangeSetName": "myChangeSetName", "EndTime": "2023-03-03T00:00:00Z", "FailureCode": null, "FailureDescription": null, "StartTime": "2023-03-02T00:00:00Z", "Status": "SUCCEEDED" }
catatan

Saat melakukan polling atau bekerja dengan set perubahan secara terprogram, Anda harus mematuhi batas layanan. Untuk informasi selengkapnya, lihat Kuota layanan untuk AWS Marketplace API Katalog.

Setelah perubahan Anda selesai, Anda dapat menggunakan ListEntities untuk menemukan entitas yang Anda buat atau modifikasi (dan yang terkaitEntityID). Anda kemudian dapat menggunakan DescribeEntity dengan EntityID untuk mendapatkan rincian tentang hal itu.

Untuk informasi selengkapnya tentang bekerja dengan permintaan perubahan di konsol untuk penjual, lihat Membuat permintaan perubahan di Panduan AWS Marketplace Penjual.

Membuat beberapa permintaan perubahan secara bersamaan

Dalam satu set perubahan, Anda dapat menggabungkan semua jenis perubahan dan dijalankan bersama. Catalog API dibangun untuk membuat beberapa perubahan secara bersamaan untuk memberikan kinerja terbaik. Penjual dan Mitra Saluran dapat memanggil perubahan dengan beberapa ChangeTypes dibundel ke dalam file. ChangeSet Anda dapat memanggil beberapa perubahan pada entitas tunggal atau berbeda dalam hal yang samaChangeSet. Catalog API mengevaluasi urutan perubahan mana yang perlu diterapkan dan membuat perubahan tersebut.

Namun, jika permintaan dibuat sebagai set perubahan terpisah, tidak AWS Marketplace dapat memulai permintaan perubahan yang bertentangan pada produk yang sama. Dalam kasus ini, AWS Marketplace mengembalikan ResourceInUseException kesalahan.

  • Untuk memodifikasi AMI dan produk kontainer, sebagian besar perubahan dapat dilakukan tanpa kesalahan, dengan pengecualian berikut:

    • Jika dua permintaan sama ChangeType pada produk yang sama, permintaan kedua mengembalikan kesalahan.

    • Jika satu permintaan adalah untuk memperbarui informasi versi, dan permintaan lainnya adalah membatasi atau menambahkan versi, maka permintaan kedua mengembalikan kesalahan.

    • Jika ada permintaanPREPARING, permintaan lain dapat dibuat pada produk yang sama. Namun, perubahan yang saat ini APPLYING dapat memblokir permintaan lain, mengembalikan kesalahan.

  • Untuk jenis produk lain dan pasar pribadi, Anda hanya dapat memiliki satu permintaan untuk suatu produk pada satu waktu. Jika permintaan berbeda untuk memperbarui produk yang sama dibuat saat permintaan pertama sedang berlangsung, permintaan kedua mengembalikan kesalahan.

  • Jika ada permintaan untuk produk apa pun yang tertunda dengan tim Operasi AWS Marketplace Penjual, maka permintaan lain pada produk tersebut mengembalikan kesalahan.

Jika Anda menerima ResourceInUseException kesalahan untuk permintaan perubahan, Anda dapat mencoba kembali permintaan tersebut nanti. Bergantung pada status permintaan yang sedang berlangsung, Anda juga dapat membatalkan permintaan pertama, untuk memungkinkan permintaan kedua yang dikirim ulang selesai lebih cepat.

Memanggil beberapa jenis perubahan dalam satu set perubahan

Anda dapat menggunakan API Katalog untuk menggabungkan dan menghubungkan hingga 20 perubahan dalam satu StartChangeSet permintaan yang menargetkan satu atau beberapa entitas berbeda.

Kasus penggunaan yang umum adalah membuat SaaSProduct@1.0 draf produk, Offer@1.0 draf penawaran, dan juga mengisi informasi metadata produk dan penawaran. Ini dilakukan dengan memasukkan empat jenis perubahan berikut dalam satu set perubahan:

  • CreateProduct pada SaaSProduct@1.0

    Tentukan parameter ChangeName. Kemudian, produk yang dibuat dalam jenis perubahan ini dapat direferensikan dalam perubahan yang sama yang ditetapkan oleh perubahan berikutnya.

    Misalnya, CreateProductChange.

  • UpdateInformationpada yang SaaSProduct@1.0 dibuat dalam set perubahan yang sama

    Di Entity.Identifier bidang, Anda dapat merujuk ke produk yang dibuat berdasarkan jenis CreateProduct perubahan menggunakan nama perubahan dalam format ini:

    ${ChangeName}.Entity.Identifier

    Misalnya, $CreateProductChange.Entity.Identifier.

  • CreateOfferOffer@1.0terikat dengan yang SaaSProduct@1.0 dibuat dalam set perubahan yang sama

    Tentukan parameter ChangeName. Kemudian, produk yang dibuat dalam jenis perubahan ini dapat direferensikan dalam perubahan yang sama yang ditetapkan oleh perubahan berikutnya. Misalnya, CreateOfferChange.

    Untuk ProductId parameter dalam payload jenis CreateOffer perubahan, Anda juga dapat merujuk ke produk SaaS yang dibuat CreateProduct dalam tipe perubahan dengan ${ChangeName}.Entity.Identifier menggunakan sintaks.

    Misalnya, {"ProductId":"$CreateProductChange.Entity.Identifier"}.

  • UpdateInformationpada yang Offer@1.0 dibuat dalam set perubahan yang sama

    Di Entity.Identifier bidang ini, Anda dapat merujuk ke penawaran yang dibuat oleh jenis CreateOffer perubahan menggunakan nama perubahan dalam format ini:

    ${ChangeName}.Entity.Identifier

    Misalnya, $CreateOfferChange.Entity.Identifier.

Berikut ini adalah contoh dari gabungan set perubahan.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "CreateProduct", "Entity": { "Type": "SaaSProduct@1.0" }, "ChangeName": "CreateProductChange", "DetailsDocument": {} }, { "ChangeType": "UpdateInformation", "Entity": { "Type": "SaaSProduct@1.0", "Identifier": "$CreateProductChange.Entity.Identifier" }, "ChangeName": "UpdateProductInformationChange", "DetailsDocument": { "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product longer description.", "Sku": "123example456", "LogoUrl": "https://s3.amazonaws.com/presigned-or-public-url-to-logo-stored-in-s3", "VideoUrls": [ "https://example.com" ], "Highlights": [ "123example45" ], "AdditionalResources": "123example456", "SupportDescription": "Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.", "Categories": [ "Operating Systems", "Network Infrastructure", "Application Development" ], "SearchKeywords": [ "123example45" ], } }, { "ChangeType": "CreateOffer", "Entity": { "Type": "Offer@1.0" }, "ChangeName": "CreateOfferChange", "DetailsDocument": { "ProductId": "$CreateProductChange.Entity.Identifier" } }, { "ChangeType": "UpdateInformation", "Entity": { "Type": "Offer@1.0", "Identifier": "$CreateOfferChange.Entity.Identifier" }, "DetailsDocument": { "Name": "Offer created together with SaaSProduct", "Description": "Test offer created together with SaaSProduct in the same Catalog API change set" } } ] }

Bekerja dengan atribut Details (Legacy)

catatan

Bagian ini menjelaskan Details atribut lama dalam permintaan perubahan Anda, yang memerlukan pemformatan tambahan untuk detail perubahan Anda. Sebaiknya gunakan DetailsDocument atribut alternatif. Itu tidak memerlukan pemformatan tambahan dan detail perubahan tidak perlu diubah. Untuk contoh DetailsDocument atribut, lihat Bekerja dengan produk penjual dan Bekerja dengan pasar pribadi.

DetailsAtribut StartChangeSet operasi adalah nilai string. Isinya adalah objek JSON. Untuk menempatkan objek JSON ke dalam atribut string, Anda harus mengonversi objek menjadi string satu baris dengan melarikan diri dari semua karakter kontrol JSON, dan menghapus jeda baris.

Misalnya, jika Anda menggunakan StartChangeSet operasi UpdateProcurementPolicy untuk menonaktifkan permintaan dari pengguna di pasar pribadi Anda, buat permintaan seperti berikut ini.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateProcurementPolicy", "Details": "<string>", "Entity": { "Type": "Experience@1.0", "Identifier" : "exp-1234example@5" } } ] }

Dalam hal ini, objek JSON yang Anda gunakan untuk Details atribut terlihat seperti berikut (sebelum konversi ke string).

{ "Configuration": { "PolicyResourceRequests": "Deny" } }

Tetapi Details atribut membutuhkan string, bukan JSON. Setelah mengonversi objek JSON ini menjadi string baris tunggal, sepertinya berikut ini.

"{\"Configuration\" : {\"PolicyResourceRequests\" : \"Deny\"}}"

Dengan string ini, Anda dapat membuat permintaan set perubahan lengkap, sebagai berikut.

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateProcurementPolicy", "Details": "{\"Configuration\" : {\"PolicyResourceRequests\" : \"Deny\"}}", "Entity": { "Type": "Experience@1.0", "Identifier" : "exp-1234example@5" } } ] }

Umumnya, contoh dalam referensi API ini menunjukkan objek JSON yang sudah dikonversi ke string. Dalam beberapa kasus, sampel yang lebih rumit dengan baris baru disertakan untuk meningkatkan pemahaman.

Mengotomatiskan konversi JSON ke string

Mengonversi objek JSON ke string dapat diotomatisasi menggunakan alat seperti jq, prosesor JSON baris perintah ringan. Contoh berikut menunjukkan menggunakan jq untuk mengkonversi objek JSON ke string yang dapat digunakan dalam Details atribut.

DETAILS_JSON='{ "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product long description." }'; DETAILS_JSON_STRING="$(echo "${DETAILS_JSON}" | jq 'tostring';)";

Jika Anda bergema"${DETAILS_JSON_STRING}", hasilnya adalah string berikut dengan JSON lolos dengan benar: {\"ProductTitle\":\"My Product\",\"ShortDescription\":\"My product short description.\",\"LongDescription\":\"My product long description.\"}

Menggunakan DescribeEntity untuk mendapatkan informasi tentang entitas Anda

Anda dapat secara terprogram mendapatkan informasi tentang entitas Anda yang ada, termasuk produk dan pasar pribadi, melalui API Katalog.

ListEntitiesTindakan mengembalikan daftar entitas. Kemudian, Anda dapat menggunakan DescribeEntity tindakan untuk mendapatkan detail tentang entitas individu. Ini dapat langsung berguna, misalnya, untuk membuat katalog produk yang Anda jual. Ini juga dapat berguna saat memperbarui entitas, karena Anda bisa mendapatkan status entitas saat ini sebelum memperbarui hanya bagian yang ingin Anda perbarui.

Contoh berikut menunjukkan penggunaan ListEntities untuk mendapatkan daftar produk kontainer, dan kemudian menggunakan DescribeEntity untuk mendapatkan informasi tentang salah satu produk tertentu.

POST /ListEntities HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "EntityType": "ContainerProduct" }

Untuk tipe entitas, Anda harus menggunakan tipe entitas tanpa versi. Ia mengembalikan semua entitas dari jenis itu (dan tidak memfilter pada versi).

Berikut adalah contoh respons terhadap ListEntities tindakan tersebut.

{ "EntitySummaryList": [ { "Name": "Container Product 1", "EntityType": "ContainerProduct", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12", "EntityArn": "arn:aws:aws-marketplace:[exampleARN]", "LastModifiedDate": "2021-03-01T00:00:00Z", "Visibility": "Public" }, { "Name": "Container Product 2", "EntityType": "ContainerProduct", "EntityId": "example2-abcd-1234-5ef6-7890abcdef12", "EntityArn": "arn:aws:aws-marketplace:[exampleARN]", "LastModifiedDate": "2021-03-02T00:00:00Z", "Visibility": "Public" } ], "NextToken": "exampleabcdef12345..." }

Untuk mendapatkan detail dari salah satu produk ini, gunakan DescribeEntity aksinya. Contoh berikut menunjukkan cara mendapatkan detail tentang produk pertama yang dikembalikan di atas.

GET /DescribeEntity?catalog=AWSMarketplace&entityId=example1-abcd-1234-5ef6-7890abcdef12 HTTP/1.1

Berikut ini menunjukkan respons terhadapDescribeEntity.

{ "EntityType": "ContainerProduct@1.0", "EntityIdentifier": "example1-abcd-1234-5ef6-7890abcdef12@9", "EntityArn": "arn:aws:aws-marketplace:[exampleARN]", "LastModifiedDate": "2021-03-02T20:19:14Z", "Details": "{\"Versions\":[{\"Id\":\"example2-0000-aaaa-5ef6-7890abcdef12\",\"ReleaseNotes\":\"My release notes\",\"UpgradeInstructions\":\"N/A\",\"VersionTitle\":\"1.0\",\"CreationDate\":\"2021-03-02T00:00:00.000Z\",\"Sources\":[{\"Type\":\"DockerImages\",\"Id\":\"example3-1111-bbbb-5ef6-7890abcdef12\",\"Images\":[\"111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1:some-tag\"],\"Compatibility\":{\"Platform\":\"Linux\"}}],\"DeliveryOptions\":[{\"Id\":\"example4-2222-cccc-2222-cccccccccccc\",\"Type\":\"ElasticContainerRegistry\",\"SourceId\":\"example3-1111-bbbb-5ef6-7890abcdef12\",\"Title\":\"New delivery option 1\",\"ShortDescription\":\"Delivery option 1\",\"isRecommended\":false,\"Compatibility\":{\"AWSServices\":[\"ECS\",\"EKS\"]},\"Instructions\":{\"Usage\":\"test\"},\"Recommendations\":{\"AdditionalArtifacts\":[]},\"Visibility\":\"Limited\"}]}],\"Description\":{\"Highlights\":[\"Some highlight\"],\"LongDescription\":\"Description of my product\",\"ProductCode\":\"123456789012abcdef1234567\",\"Manufacturer\":null,\"Visibility\":\"Limited\",\"AssociatedProducts\":null,\"Sku\":null,\"SearchKeywords\":[\"some keyword\"],\"ProductTitle\":\"Container Product 1\",\"ShortDescription\":\"Description of my product\",\"Categories\":[\"Operating Systems\"]},\"PromotionalResources\":{\"LogoUrl\":\"https://awsmp-logos.s3.amazonaws.com/PLACEHOLDER_Logo_for_Containers_products.png\",\"AdditionalResources\":[],\"Videos\":[]},\"SupportInformation\":{\"Description\":\"Description of support information.\",\"Resources\":[]},\"RegionAvailability\":{\"Regions\":[\"ap-south-1\",\"eu-west-3\",\"eu-north-1\",\"eu-west-2\",\"eu-west-1\",\"ap-northeast-2\",\"ap-northeast-1\",\"me-south-1\",\"ca-central-1\",\"sa-east-1\",\"ap-east-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"eu-central-1\",\"us-east-1\",\"us-east-2\",\"us-west-1\",\"us-west-2\"],\"FutureRegionSupport\":null},\"Repositories\":[{\"Url\":\"111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1\",\"Type\":\"ECR\"}]}", "DetailsDocument": { "Versions": [ { "Id": "example2-0000-aaaa-5ef6-7890abcdef12", "ReleaseNotes": "My release notes", "UpgradeInstructions": "N/A", "VersionTitle": "1.0", "CreationDate": "2021-03-02T00:00:00.000Z", "Sources": [ { "Type": "DockerImages", "Id": "example3-1111-bbbb-5ef6-7890abcdef12", "Images": [ "111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1:some-tag" ], "Compatibility": { "Platform": "Linux" } } ], "DeliveryOptions": [ { "Id": "example4-2222-cccc-2222-cccccccccccc", "Type": "ElasticContainerRegistry", "SourceId": "example3-1111-bbbb-5ef6-7890abcdef12", "Title": "New delivery option 1", "ShortDescription": "Delivery option 1", "isRecommended": false, "Compatibility": { "AWSServices": [ "ECS", "EKS" ] }, "Instructions": { "Usage": "test" }, "Recommendations": { "AdditionalArtifacts": [] }, "Visibility": "Limited" } ] } ], "Description": { "Highlights": [ "Some highlight" ], "LongDescription": "Description of my product", "ProductCode": "123456789012abcdef1234567", "Manufacturer": null, "Visibility": "Limited", "AssociatedProducts": null, "Sku": null, "SearchKeywords": [ "some keyword" ], "ProductTitle": "Container Product 1", "ShortDescription": "Description of my product", "Categories": [ "Operating Systems" ] }, "PromotionalResources": { "LogoUrl": "https://awsmp-logos.s3.amazonaws.com/PLACEHOLDER_Logo_for_Containers_products.png", "AdditionalResources": [], "Videos": [] }, "SupportInformation": { "Description": "Description of support information.", "Resources": [] }, "RegionAvailability": { "Regions": [ "ap-south-1", "eu-west-3", "eu-north-1", "eu-west-2", "eu-west-1", "ap-northeast-2", "ap-northeast-1", "me-south-1", "ca-central-1", "sa-east-1", "ap-east-1", "ap-southeast-1", "ap-southeast-2", "eu-central-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2" ], "FutureRegionSupport": null }, "Repositories": [ { "Url": "111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1", "Type": "ECR" } ] } }
catatan

DetailsDocumentAtribut berisi rincian entitas sebagai objek JSON. DetailsAtribut warisan berisi objek JSON yang sama sebagai string.