Поделиться через


Получение списка номеров SKU для продукта (по странам или регионам)

Вы можете получить коллекцию номеров SKU, доступных в стране или регионе для определенного продукта с помощью API Центра партнеров.

Необходимые условия

  • Учетные данные, как описано в аутентификации Центра партнеров. Этот сценарий поддерживает аутентификацию с использованием либо автономных учетных данных приложения, либо комбинации учетных данных приложения и пользователя.

  • Идентификатор продукта.

C#

Чтобы получить список номеров SKU для продукта, выполните указанные ниже действия.

  1. Получите интерфейс для операций с конкретным продуктом, следуя шагам, описанным в разделе Получение продукта по идентификатору.

  2. В интерфейсе выберите свойство Skus, чтобы получить интерфейс с доступными операциями для номеров SKU.

  3. Вызовите метод Get() или GetAsync(), чтобы получить коллекцию доступных номеров SKU для продукта.

  4. (Необязательно) Выберите область резервирования с помощью метода ByReservationScope().

  5. (Необязательно) Используйте метод ByTargetSegment(), чтобы отфильтровать номера SKU по целевому сегменту перед вызовом Get() или GetAsync().

IAggregatePartner partnerOperations;

string countryCode;
string productId;
string productIdForAzureReservation;
string targetSegment;

// Get the available SKUs.
var skus = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.Get();

// Get the available SKUs, filtered by target segment.
var segmentSkus = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ByTargetSegment(targetSegment).Get();

// Get the skus for an Azure reservation product which are applicable to Microsoft Azure (MS-AZR-0145P) subscriptions only.
var skus = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.Get();

// Get the skus for an Azure reservation product which are applicable to Azure plans only.
var skus = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.ByReservationScope("AzurePlan").Get();

Ява

Java SDK Партнерского центра можно использовать для управления ресурсами в Партнерском центре. Это проект с открытым исходным кодом, поддерживаемый сообществом партнеров и официально не поддерживаемый корпорацией Майкрософт. Вы можете получить помощь от сообщества или создать проблему на GitHub, если у вас возникла проблема.

Чтобы получить список номеров SKU для продукта, выполните указанные ниже действия.

  1. Получите интерфейс для операций с конкретным продуктом, следуя шагам, описанным в разделе Получение продукта по идентификатору.

  2. Во интерфейсе выберите функцию getSkus, чтобы получить интерфейс с доступными операциями для SKU.

  3. Вызовите функцию get(), чтобы получить коллекцию доступных номеров SKU для продукта.

  4. (Необязательно) Используйте функцию byTargetSegment(), чтобы отфильтровать номера SKU по целевому сегменту перед вызовом функции get().

// IAggregatePartner partnerOperations;

// String countryCode;
// String productId;
// String targetSegment;

// Get the available SKUs.
ResourceCollection<Sku> skus = partnerOperations.getProducts().byCountry(countryCode).byId(productId).getSkus().get();

// Get the available SKUs, filtered by target segment.
var segmentSkus = partnerOperations.getProducts().byCountry(countryCode).byId(productId).getSkus().byTargetSegment(targetSegment).get();

PowerShell

Модуль PowerShell Центра партнеров можно использовать для управления ресурсами Центра партнеров. Это проект с открытым исходным кодом, поддерживаемый сообществом партнеров и официально не поддерживаемый корпорацией Майкрософт. Вы можете получить помощь от сообщества или создать проблему на GitHub, если у вас возникла проблема.

Чтобы получить список номеров SKU для продукта, выполните указанные ниже действия.

  1. Выполните команду Get-PartnerProductSku.

  2. (Необязательно) Укажите параметр сегмента, чтобы отфильтровать номера SKU по целевому сегменту.

# $productId
# $targetSegment

# Get the available SKUs.
Get-PartnerProductSku -ProductId $productId

# Get the available SKUs, filtered by target segment.
Get-PartnerProductSku -ProductId $productId -Segment $targetSegment

запрос REST

Синтаксис запроса

Метод URI запроса
GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment} HTTP/1.1

Параметры URI

Используйте следующий путь и параметры запроса, чтобы получить список номеров SKU для продукта.

Имя Тип Обязательно Описание
идентификатор продукта струна Да Строка, определяющая продукт.
код страны струна Да Идентификатор страны или региона.
целевой сегмент струна Нет Строка, определяющая целевой сегмент, используемый для фильтрации.
область резервирования струна Нет При запросе списка номеров SKU для продукта резервирования Azure укажите reservationScope=AzurePlan, чтобы получить список номеров SKU, применимых к AzurePlan. Исключите этот параметр, чтобы получить список номеров SKU для продуктов резервирования Azure, применимых к подпискам Microsoft Azure (MS-AZR-0145P).

Заголовки запросов

Дополнительные сведения см. в REST-заголовках Центра партнеров.

Текст запроса

Нет.

Примеры запросов

Получите список номеров SKU для данного продукта:

GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BPS6/skus?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd

Получите список номеров SKU для продукта резервирования Azure. Включайте только артикулы SKU, применимые к планам Azure, а также не к подпискам Microsoft Azure (MS-AZR-0145P).

GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ5S/skus?country=US&reservationScope=AzurePlan HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd

Получите список номеров SKU для продукта резервирования Azure. Включайте только номера SKU, применимые к подпискам Microsoft Azure (MS-AZR-0145P), а не к планам Azure:

GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ5S/skus?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd

Ответ REST

В случае успешного выполнения текст ответа содержит коллекцию ресурсов SKU.

Коды успешных и ошибочных ответов

Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой и дополнительные сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и дополнительных параметров. Полный список см. в кодах ошибок Центра партнеров .

Этот метод возвращает следующие коды ошибок:

Код состояния HTTP Код ошибки Описание
403 400030 Доступ к запрошенному целевому сегменту запрещен.
404 400013 Родительский продукт не найден.

Пример ответа для резервирования виртуальных машин Azure (тариф Azure)

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd,aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d,18b41adf-29b5-48eb-b14f-c9683a4e5b7d
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTVTXHNrdXM=?=
X-Powered-By: ASP.NET
Date: Thu, 15 Mar 2018 21:06:03 GMT
Content-Length: 50917

{
    "totalCount": 40,
    "items": [
        {
            "id": "0001",
            "productId": "DZH318Z0BQ5S",
            "title": "Reserved VM Instance, Standard_ND12s, US West 2, 1 Year",
            "description": "Reserved Virtual Machines Instance, Standard_ND12s, US West 2, 1 Year",
            "minimumQuantity": 1,
            "maximumQuantity": 999999999,
            "isTrial": false,
            "supportedBillingCycles": [
                "one_time"
            ],
            "purchasePrerequisites": [
                "AzureSubscriptionRegistration",
                "InventoryCheck"
            ],
            "provisioningVariables": [
                "Scope",
                "SubscriptionId"
            ],
            "dynamicAttributes": {
                "armSkuName": "Standard_ND12s",
                "cores": "12",
                "ram": "224",
                "skuDisplayName": "ND12",
                "category": "GPU",
                "armRegionName": "westus2",
                "duration": "1Year",
                "region": "US West 2",
                "diskType": "Hdd"
            },
            "links": {
                "availabilities": {
                    "uri": "/products/DZH318Z0BQ5S/skus/0001/availabilities?country=US",
                    "method": "GET",
                    "headers": []
                },
                "self": {
                    "uri": "/products/DZH318Z0BQ5S/skus/0001?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        },
        {
            "id": "0002",
            "productId": "DZH318Z0BQ5S",
            "title": "Reserved VM Instance, Standard_ND6s, US West 2, 1 Year",
            "description": "Reserved Virtual Machines Instance, Standard_ND6s, US West 2, 1 Year",
            "minimumQuantity": 1,
            "maximumQuantity": 999999999,
            "isTrial": false,
            "supportedBillingCycles": [
                "one_time"
            ],
            "purchasePrerequisites": [
                "AzureSubscriptionRegistration",
                "InventoryCheck"
            ],
            "provisioningVariables": [
                "Scope",
                "SubscriptionId"
            ],
            "dynamicAttributes": {
                "armSkuName": "Standard_ND6s",
                "cores": "6",
                "ram": "112",
                "skuDisplayName": "ND6",
                "category": "GPU",
                "armRegionName": "westus2",
                "duration": "1Year",
                "region": "US West 2",
                "diskType": "Hdd"
            },
            "links": {
                "availabilities": {
                    "uri": "/products/DZH318Z0BQ5S/skus/0002/availabilities?country=US",
                    "method": "GET",
                    "headers": []
                },
            "self": {
                    "uri": "/products/DZH318Z0BQ5S/skus/0002?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        }
        [...]
    ],
    "links": {
        "self": {
            "uri": "/products/DZH318Z0BQ5S/skus?country=US",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Collection"
    }
}

Пример ответа для новых коммерческих услуг, основанных на лицензиях

Заметка

Новые коммерческие возможности для служб на основе лицензий включают множество новых возможностей и доступны для всех поставщиков облачных решений (CSPS). Дополнительные сведения см. в обзор новых коммерческих возможностей.

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd,aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d,18b41adf-29b5-48eb-b14f-c9683a4e5b7d
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTVTXHNrdXM=?=
X-Powered-By: ASP.NET
Date: Thu, 15 Mar 2018 21:06:03 GMT
Content-Length: 50917

{
    "totalCount": 40,
    "items": [
        {
{
    "id": "0001",
    "productId": "CFQ7TTC0LH18",
    "title": "Microsoft 365 Business Basic",
    "description": "Best for businesses that need professional email, cloud file storage, and online meetings & chat. Desktop versions of Office apps like Excel, Word, and PowerPoint not included. For businesses with up to 300 employees.",
    "minimumQuantity": 1,
    "maximumQuantity": 300,
    "isTrial": false,
    "supportedBillingCycles": [
        "annual",
        "monthly"
    ],
    "purchasePrerequisites": [
        "MicrosoftCloudAgreement"
    ],
    "inventoryVariables": [],
    "provisioningVariables": [],
    "actions": [
        "Refund"
    ],
    "dynamicAttributes": {
        "isMicrosoftProduct": true,
        "hasConstraints": true,
        "isAddon": false,
        "prerequisiteSkus": [],
        "isSoftwareAssuranceApplicable": false,
        "upgradeTargetOffers": [
            "CFQ7TTC0LDPB:0001",
            "CFQ7TTC0LF8Q:0001"
…
        ],
        "provisioningId": "3b555118-da6a-4418-894f-7df1e2096870",
        "internal": false
    },
    "links": {
        "availabilities": {
            "uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities?country=US",
            "method": "GET",
            "headers": []
        },
        "self": {
            "uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
            "method": "GET",
            "headers": []
        }
    }
}        [...]
    ],
    "links": {
        "self": {
            "uri": "/products/DZH318Z0BQ5S/skus?country=US",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Collection"
    }
}