API приема продуктов для контейнеров
API приема продуктов — это обновленный API, который объединяет все существующие API отправки во всех продуктах коммерческой платформы. Дополнительные сведения о начале работы см. в API приема продуктов.
В этой статье содержатся рекомендации по использованию API специально для контейнеров.
Получение существующих конфигураций ресурсов
Извлеките все ресурсы в определенном продукте в одном вызове API.
GET resource-tree/<product-durableID>?$version=<schema-version>
Вы можете получить все конфигурации ресурсов в определенном продукте с помощью типа ресурса resource-tree вместе с устойчивым идентификатором продукта. Указанная версия схемы используется в качестве максимально поддерживаемой версии для каждого из применимых ресурсов запрошенного продукта.
Примечание.
Если вы не знаете устойчивый идентификатор продукта, вы можете сначала получить ресурс продукта с помощью внешнего идентификатора продукта и запустить его. Дополнительные сведения см. в разделе 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-audiences, указав, какие аудитории нужно добавить или удалить из определенного плана. Это синхронизирует черновик, предварительную версию и динамические среды с одинаковыми значениями частной аудитории. При синхронизации частной аудитории не нужно предоставлять ресурс отправки.
Чтобы изменить черновик аудитории, используйте ресурс price-and-availability-plan и свойство privateAudiences. Это потребуется пройти через обычный поток публикации, чтобы значения были заданы в предварительной версии и в реальном времени.
Внимание
Если ваш продукт поддерживает несколько типов идентификаторов для настройки частной аудитории (например, идентификаторов клиентов и идентификаторов подписок), необходимо выполнить полную публикацию при первом предоставлении нового типа идентификатора. В этом случае вы не можете синхронизировать частную аудиторию.
Пример запроса для синхронизации конфигурации частной аудитории:
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 Commercial Marketplace. Сюда входят описания продукта, снимки экрана и маркетинговые ресурсы.
Пример текста запроса, который настраивает список:
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, необходимо определить аудиторию предварительной версии с помощью идентификаторов подписок, которые могут просмотреть список продуктов, прежде чем он будет жить.
Пример текста запроса, настроив аудиторию предварительной версии:
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"
}
]
}
Контейнер предлагает различные варианты выставления счетов. Дополнительные сведения о поддерживаемых моделях выставления счетов см. в разделе "Параметры лицензирования".
Версии и обновления API
Update | Что изменилось? |
---|---|
1-2024 | Все конечные точки схемы обновлены с product-ingestion.azureedge.net до schema.mp.microsoft.com |