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
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
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,. Jenis (EntityProduct@1.0EntityProduk) 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 olehnya
EntityId, yang merupakan kunci untuk membedakan satu entitas secara global dari yang lain. -
Setiap revisi yang diterbitkan dari suatu entitas memiliki a
RevisionId. ItuRevisionId, bersama denganEntityId, membedakan satu revisi yang diterbitkan dari yang lain. -
AWS Marketplace menghasilkan
EntityIds danRevisionIds.
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 dalamPREPARINGstatus.
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
ChangeTypepada 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 permintaan
PREPARING, permintaan lain dapat dibuat pada produk yang sama. Namun, perubahan yang saat iniAPPLYINGdapat 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:
-
CreateProductpadaSaaSProduct@1.0Tentukan parameter
ChangeName. Kemudian, produk yang dibuat dalam jenis perubahan ini dapat direferensikan dalam perubahan yang sama yang ditetapkan oleh perubahan berikutnya.Misalnya,
CreateProductChange. -
UpdateInformationpada yangSaaSProduct@1.0dibuat dalam set perubahan yang samaDi
Entity.Identifierbidang, Anda dapat merujuk ke produk yang dibuat berdasarkan jenisCreateProductperubahan menggunakan nama perubahan dalam format ini:${ChangeName}.Entity.IdentifierMisalnya,
$CreateProductChange.Entity.Identifier. -
CreateOfferOffer@1.0terikat dengan yangSaaSProduct@1.0dibuat dalam set perubahan yang samaTentukan parameter
ChangeName. Kemudian, produk yang dibuat dalam jenis perubahan ini dapat direferensikan dalam perubahan yang sama yang ditetapkan oleh perubahan berikutnya. Misalnya,CreateOfferChange.Untuk
ProductIdparameter dalam payload jenisCreateOfferperubahan, Anda juga dapat merujuk ke produk SaaS yang dibuatCreateProductdalam tipe perubahan dengan${ChangeName}.Entity.Identifiermenggunakan sintaks.Misalnya,
{"ProductId":"$CreateProductChange.Entity.Identifier"}. -
UpdateInformationpada yangOffer@1.0dibuat dalam set perubahan yang samaDi
Entity.Identifierbidang ini, Anda dapat merujuk ke penawaran yang dibuat oleh jenisCreateOfferperubahan menggunakan nama perubahan dalam format ini:${ChangeName}.Entity.IdentifierMisalnya,
$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 JSONjq 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-7890abcdef12HTTP/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.