コンテナー用 Product Ingestion API
Product Ingestion API は、すべてのコマーシャル マーケットプレース製品にわたって既存のすべての申請 API を統合する最新化された API です。 開始方法の詳細については、 Product Ingestion API を参照してください。
この記事では、コンテナー専用の API を使用する方法に関するガイダンスを提供します。
既存のリソース構成を取得する
1 回の API 呼び出しで、特定の製品内のすべてのリソースを取得します。
GET resource-tree/<product-durableID>?$version=<schema-version>
"resource-tree" リソースの種類と製品の永続 ID を使用して、特定の製品内のすべてのリソース構成を取得できます。 指定したスキーマ バージョンは、要求された製品の該当する各リソースでサポートされている最大バージョンとして使用されます。
Note
製品の永続 ID がわからない場合は、代わりに製品の外部 ID を使用して実行することで、まず製品リソースを取得できます。 詳細については、「 Product API: 方法 1: リソース ツリー」を参照してください。
GET 呼び出しの例:
応答の例:
{
"$schema": "https://schema.mp.microsoft.com/schema/resource-tree/2022-03-01-preview2",
"root": "product/12345678-abcd-efgh-1234-12345678901",
"target": {
"targetType": "preview"
},
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/product/2022-03-01-preview3",
"id": "product/12345678-abcd-efgh-1234-12345678901",
"identity": {
"externalID": "product_external_id_example"
},
"type": "azureContainer",
"alias": "product_example"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/commercial-marketplace-setup/2022-03-01-preview2",
"id": "commercial-marketplace-setup/12345678-abcd-efgh-1234-12345678901",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"sellThroughMicrosoft": true
},
{
"$schema": "https://schema.mp.microsoft.com/schema/plan/2022-03-01-preview2",
"id": "plan/12345678-abcd-efgh-1234-12345678901/98756328-04e9-55ae-9403-52b6c971a956
...
},
// The response would include all existing resources within this product.
{
...
}]
}
プライベート対象ユーザーを同期する
ライブ製品の場合、ドラフト、プレビュー、ライブ環境のプライベート 対象ユーザーに対する更新は、公開を必要とせずに同時に実行できます。 特定のプランに追加または削除する対象ユーザーを指定することで、"price-and-availability-update-private-audience" リソースを使用してプライベート対象ユーザーを同期できます。 これにより、ドラフト、プレビュー、ライブ環境が同期され、プライベート対象ユーザーの値が同じになります。 プライベート対象ユーザーを同期するときに、申請リソースを指定する必要はありません。
ドラフト対象ユーザーを編集するには、"price-and-availability-plan" リソースと "privateAudiences" プロパティを使用します。 これは、プレビューとライブで設定する値の通常の発行フローを通過する必要があります。
重要
プライベート対象ユーザーを構成するために複数の種類の識別子 (テナント ID とサブスクリプション ID の両方など) が製品でサポートされている場合は、完全発行を実行する必要があります (初めて新しい識別子の種類を指定する場合)。 この場合、プライベート対象ユーザーを同期することはできません。
プライベート対象ユーザー構成を同期するためのサンプル要求:
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-update-private-audiences/2022-03-01-preview3",
"product": "product/12345678-abcd-efgh-1234-12345678901", // product durable ID
"plan": "plan/12345678-abcd-efgh-1234-12345678901/7e70b11f-809e-4c45-ae2f-1fb3ceaca33b", //plan durable ID
"privateAudiences":
{
"add ":
[
{
"type": "tenant",
"id": " c0cab000-5c00-2ae9-acbe-f5f0bb264498 ",
"label": "test 1"
}
],
"remove ":
[
{
"type": "tenant",
"id": " d1cab000-6c06-4ae9-acbe-b5f0bb264498 ",
"label": "test 2"
}
]
}
}
]
}
プロパティを構成する
コンテナー製品、アプリのバージョン、法的契約に適用できるカテゴリと業界を定義します。 製品が適切に表示され、適切な顧客セットに提供されるように、製品に関する完全で正確な詳細をプロパティ リソースに入力してください。 詳細については、「 Appsource カテゴリ」を参照してください。
プロパティを構成する要求本文のサンプル:
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/property/2022-03-01-preview5",
"id": "property/a8b48be1-a630-41b5-b5a5-c2a9f7789922/public/main",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"kind": "azureContainer",
"termsConditions": "standardMicrosoft",
"categories": {
"containers": [
"container-apps",
"container-images"
]
}
}
]
}
一覧の構成
リソースを一覧表示して提供した情報は、Microsoft コマーシャル マーケットプレースのオンライン ストアに表示されます。 これには、製品、スクリーンショット、マーケティング資産の説明が含まれます。
リストを構成する要求本文の例:
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/listing/2022-03-01-preview5",
"id": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azureContainer",
"title": "ContainerCM0815",
"description": "<div>This offer is in the early stages of development and not for general public consumption. Use is restricted to a limited audience, and has no commercial purpose beyond the testing for which it is intended.</div>",
"searchResultSummary": "Container product",
"shortDescription": "This offer is in the early stages of development and not for general public consumption",
"privacyPolicyLink": "https://www.company.com/privacy",
"generalLinks": [
{
"displayText": "Product link",
"link": "https://www.company.com/mkt",
}
],
"globalSupportWebsite": "https://testprivacyurl.com",
"governmentSupportWebsite": "https://testprivacyurl.com",
"supportContact": {
"name": "Support",
"email": "support@company.com",
"phone": "4255555555"
},
"engineeringContact": {
"name": "Engineering",
"email": "john@company.com",
"phone": "4255555555"
},
"cloudSolutionProviderContact": {
"name": "CSP",
"email": "csp@company.com",
"phone": "4255555555"
},
"languageID": "en-us"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2022-03-01-preview5",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azure",
"listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"type": "azureLogoScreenshot",
"languageID": "en-us",
"description": "Image caption",
"displayOrder": 0,
"fileName": "test.png",
"friendlyName": "test.png",
"url": "https://company.com/12345/test.png"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2022-03-01-preview5",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azure",
"listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"type": "azureLogoLarge",
"languageID": "en-us",
"description": "",
"displayOrder": 0,
"fileName": "216x216.png",
"friendlyName": "216x216.png",
"url": "https://company.com/12345/216x216.png"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-trailer/2022-03-01-preview5",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azure",
"listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"streamingUrl": "https://www.youtube.com/watch?v=123",
"assets": {
"en-us": {
"title": "Video",
"imageList": [
{
"url": "https://company.com/12345/trailer.png"
}
]
}
}
}
]
}
プレビュー対象ユーザーを構成する
コンテナー製品が Microsoft Marketplace を通じて販売される場合は、サブスクリプション ID を使用してプレビュー対象ユーザーを定義する必要があります。このユーザーは、製品の一覧を公開する前に確認できます。
プレビュー対象ユーザーを構成するサンプル要求本文:
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-offer/2022-03-01-preview3",
"id": "price-and-availability-offer/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"previewAudiences": [
{
"type": "subscription",
"id": "c2d12fa0-c012-33b0-b0a0-c0a0a0011222",
"label": "Test Subscription"
}
]
}
]
}
プランの構成 - 技術的な構成
クラスター拡張機能の種類名を 'PublisherName.ApplicationName' の形式で指定します。 名前はすべてのオファーとプランで一意にする必要があります。 プランがプレビューに発行されると、この値を変更することはできません。 詳細については、「 Kubernetes アプリケーション ベースのコンテナー オファーの技術的な構成を計画する」を参照 詳細については、「 Azure コンテナーの技術資産を参照してください。
トランザクション可能な技術構成を構成する要求本文の例:
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/container-plan-technical-configuration/2022-03-01-preview3",
"id": "container-plan-technical-configuration/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"plan": "plan/a8b48be1-a630-41b5-b5a5-c2a9f7789922/4db792e6-8e10-439d-9db2-a0e98fa7e174",
"payloadType": " cnab",
"clusterExtensionType": " unique.extension.type",
"cnabReferences": [
{
"tenantID": "421c00000-ac12-451e-b3ff-c5b469a13e2d",
"subscriptionID": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "TestResources",
"registryName": "testregistry",
"repositoryName": "containerrepo",
"tag": "1.0.4",
"digest": "sha256:000193bfefde1e9"
},
]
},
]
}
プランの構成 - 価格と可用性
非表示プランを構成する要求本文の例:
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-plan/2022-03-01-preview4",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"plan": "plan/a8b48be1-a630-41b5-b5a5-c2a9f7789922/0abbe45b-c405-4c08-bb14-ec485002084e",
"visibility": "hidden",
"audience": "public"
}
]
}
コンテナー オファーでは、さまざまな課金オプションがサポートされています。 サポートされている課金モデルの詳細については、「 Licensing オプションを参照してください。
API のバージョンと更新プログラム
更新プログラム | 変更された内容 |
---|---|
1-2024 | すべてのスキーマ エンドポイントが product-ingestion.azureedge.net から schema.mp.microsoft.com に更新されました |