Программное создание подписок Azure с использованием устаревших API

Эта статья поможет вам программно создавать подписки Azure с помощью нашего устаревшего API предварительной версии. В этой статье Вы узнаете как создавать подписки программно с помощью Azure Resource Manager.

Наши новые статьи о последних версиях API для использования с разными типами подписок для соглашений Azure:

Но эта статья все равно будет полезна, если вы не хотите использовать последнюю версию API.

Создавать подписки программным способом могут клиенты Azure с учетной записью выставления счетов для следующих типов соглашений:

  • Соглашение Enterprise
  • Клиентское соглашение Майкрософт (MCA);
  • Соглашение с партнером Майкрософт (ПСМ)

Когда вы создаете подписки Azure программными средствами, они регулируются соглашением, в соответствии с которым вы получили службы Azure от корпорации Майкрософт или уполномоченного торгового посредника. Дополнительные сведения можно найти на странице Юридическая информация Службы Microsoft Azure.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Вы не можете создавать планы поддержки программным способом. Вы можете приобрести новый план поддержки или обновить его в портал Azure. Перейдите в раздел "Справка и поддержка ", а затем в верхней части страницы выберите нужный план поддержки.

Создание подписок для учетной записи выставления счетов по EA

Из следующих разделов вы узнаете, как создать подписки с EA.

Необходимые компоненты

Для создания подписки необходимо иметь роль владельца в учетной записи регистрации или быть корпоративным Администратор istrator. Ее можно получить двумя способами.

Поиск учетных записей, к которым у вас есть доступ

После того как вы будете добавлены в учетную запись регистрации, связанную с владельцем учетной записи, платформа Azure использует связь между регистрацией и учетной записью, чтобы определить целевой объект для выставления счетов за подписки. Все подписки, созданные с учетной записью, оплачиваются в рамках регистрации EA, к которой относится эта учетная запись. Чтобы создать подписки, необходимо в значениях передать о регистрации учетной записи и субъектов-пользователя — владельца подписки.

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

Запросите вывод списка всех учетных записей регистрации, к которым у вас есть доступ.

GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview

В ответе API будет выведен список всех учетных записей регистрации, к которым у вас есть доступ.

{
  "value": [
    {
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name": "747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type": "Microsoft.Billing/enrollmentAccounts",
      "properties": {
        "principalName": "SignUpEngineering@contoso.com"
      }
    },
    {
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name": "4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type": "Microsoft.Billing/enrollmentAccounts",
      "properties": {
        "principalName": "BillingPlatformTeam@contoso.com"
      }
    }
  ]
}

Используйте свойство principalName, чтобы указать учетную запись для оплаты подписок. Скопируйте значение name этой учетной записи. Например, чтобы создать подписки в учетной записи регистрации SignUpEngineering@contoso.com, скопируйте 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Этот идентификатор — идентификатор объекта учетной записи регистрации. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге как enrollmentAccountObjectId.

Создание подписок с помощью определенной учетной записи регистрации

В следующем примере в учетной записи регистрации, выбранной на предыдущем шаге, создается подписка с именем Dev Team Subscription. Предложение подписки — MS-AZR-0017P (обычное Соглашение Enterprise с корпорацией Майкрософт). Этот пример также при необходимости добавляет двух пользователей в качестве владельцев Azure RBAC для подписки.

Выполните следующий запрос, заменив <enrollmentAccountObjectId> на name, скопированный на первом шаге (747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Сведения об указании владельцев см. в разделе Получение идентификаторов объектов пользователей.

POST https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Subscription/createSubscription?api-version=2018-03-01-preview

{
  "displayName": "Dev Team Subscription",
  "offerType": "MS-AZR-0017P",
  "owners": [
    {
      "objectId": "<userObjectId>"
    },
    {
      "objectId": "<servicePrincipalObjectId>"
    }
  ]
}
Имя элемента Обязательное поле Type Описание
displayName Нет Строка Отображаемое имя подписки. Если нет — ему присваивается имя предложения, например "Microsoft Azure Enterprise".
offerType Да Строка Предложение подписки. Двумя вариантами для EA являются MS-AZR-0017P (рабочее использование) и MS-AZR-0148P (dev/test, необходимо включить в портал Azure).
owners Нет Строка Идентификатор объекта любого пользователя, добавляемого в качестве владельца Azure RBAC в подписке при его создании.

В ответе в составе заголовка Location вы получаете URL-адрес, по которому можно запросить состояние операции создания подписки. После завершения создания подписки в ответ на запрос GET для URL-адреса Location вы получите объект subscriptionLink с идентификатором подписки. Дополнительные сведения см. в документации по API подписки.

Ограничения API создания подписок Azure Enterprise

  • С помощью этого API могут быть созданы только подписки Azure Enterprise.
  • Для учетной записи регистрации действует ограничение в 5000 подписок. После этого дополнительные подписки для учетной записи можно создать только на портале Azure. Если вы хотите создать больше подписок с помощью API, создайте другую учетную запись регистрации. Отмененные, удаленные и перенесенные подписки учитываются в пределах 5000.
  • Пользователи, которые не являются владельцами учетной записи, но были добавлены в учетную запись регистрации с помощью Azure RBAC, не могут создавать подписки на портале Azure.
  • Невозможно выбрать клиент для создания подписки. Подписка всегда создается в домашнем клиенте владельца учетной записи. Чтобы переместить подписку в другой клиент, ознакомьтесь с изменением подписки клиента.

Создание подписок для учетной записи MCA

Используйте сведения в следующих разделах для создания подписок для учетной записи MCA.

Необходимые компоненты

Для создания подписок необходимо иметь роль владельца, участника или создателя подписок Azure в разделе счета либо роль владельца или участника в профиле выставления счетов или учетной записи выставления счетов. Дополнительные сведения см. в статье Роли и задачи выставления счетов в подписке.

В следующих примерах используются интерфейсы REST API. В настоящее время PowerShell и Azure CLI не поддерживаются.

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

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

GET https://management.azure.com/providers/Microsoft.Billing/billingAccounts?api-version=2019-10-01-preview

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

{
  "value": [
    {
      "id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "name": "5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "properties": {
        "accountId": "5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "accountStatus": "Active",
        "accountType": "Enterprise",
        "agreementType": "MicrosoftCustomerAgreement",
        "displayName": "Contoso",
        "hasReadAccess": true,
        "organizationId": "41b29574-xxxx-xxxx-xxxx-xxxxxxxxxxxxx_xxxx-xx-xx"
      },
      "type": "Microsoft.Billing/billingAccounts"
    },
    {
      "id": "/providers/Microsoft.Billing/billingAccounts/4f89e155-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "name": "4f89e155-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "properties": {
        "accountId": "4f89e155-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "accountStatus": "Active",
        "accountType": "Enterprise",
        "agreementType": "MicrosoftCustomerAgreement",
        "displayName": "Fabrikam",
        "hasReadAccess": true,
        "organizationId": "41b29574-xxxx-xxxx-xxxx-xxxxxxxxxxxxx_xxxx-xx-xx"
      },
      "type": "Microsoft.Billing/billingAccounts"
    }
  ]
}

Используйте свойство displayName, чтобы определить учетную запись выставления счетов, для которой нужно создать подписки. Убедитесь, что значение agreementType для учетной записи равно MicrosoftCustomerAgreement. Скопируйте значение name учетной записи. Например, чтобы создать подписку для учетной записи выставления счетов Contoso, скопируйте 5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге.

Поиск разделов счетов для создания подписок

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

Выполните следующий запрос, заменив <billingAccountName> на name, скопированный на первом шаге (5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx).

POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/<billingAccountName>/listInvoiceSectionsWithCreateSubscriptionPermission?api-version=2019-10-01-preview

В ответе API будут перечислены все разделы счетов и их профили выставления счетов, которые доступны вам для создания подписок.

{
    "value": [{
        "billingProfileDisplayName": "Contoso finance",
        "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx",
        "enabledAzurePlans": [{
            "productId": "DZH318Z0BPS6",
            "skuId": "0001",
            "skuDescription": "Microsoft Azure Plan"
        }, {
            "productId": "DZH318Z0BPS6",
            "skuId": "0002",
            "skuDescription": "Microsoft Azure Plan for DevTest"
        }],
        "invoiceSectionDisplayName": "Development",
        "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx/invoiceSections/GJ77-xxxx-xxx-xxx"
    }, {
        "billingProfileDisplayName": "Contoso finance",
        "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx",
        "enabledAzurePlans": [{
            "productId": "DZH318Z0BPS6",
            "skuId": "0001",
            "skuDescription": "Microsoft Azure Plan"
        }, {
            "productId": "DZH318Z0BPS6",
            "skuId": "0002",
            "skuDescription": "Microsoft Azure Plan for DevTest"
        }],
        "invoiceSectionDisplayName": "Testing",
        "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-XXXX-XXX-XXX/invoiceSections/GJGR-XXXX-XXX-XXX"
  }]
}

Используйте свойство invoiceSectionDisplayName, чтобы определить раздел счета, для которого нужно создать подписки. Скопируйте invoiceSectionId, billingProfileId и одно из значений skuId для раздела счета. Например, чтобы создать подписку типа Microsoft Azure plan для раздела Development счетов, скопируйте /providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_2019-05-31/billingProfiles/PBFV-XXXX-XXX-XXX/invoiceSections/GJGR-XXXX-XXX-XXX, /providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_2019-05-31/billingProfiles/PBFV-xxxx-xxx-xxx и 0001. Вставьте эти значения в любое место, чтобы их можно было использовать на следующем шаге.

Создание подписки для раздела счета

В следующем примере создается подписка с именем Dev Team subscription типа План Microsoft Azure для раздела счета Development. Счет за подписку будет выставлен для профиля выставления счетов Contoso finance's, а сама подписка будет указана в разделе Development этого счета.

Выполните следующий запрос, заменив идентификатор <invoiceSectionId> на invoiceSectionId, скопированный на втором шаге (/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_2019-05-31/billingProfiles/PBFV-XXXX-XXX-XXX/invoiceSections/GJGR-XXXX-XXX-XXX). В параметрах запроса API необходимо передать billingProfileId и skuId, скопированные на втором шаге. Сведения об указании владельцев см. в разделе Получение идентификаторов объектов пользователей.

POST https://management.azure.com<invoiceSectionId>/providers/Microsoft.Subscription/createSubscription?api-version=2018-11-01-preview
'{"displayName": "Dev Team subscription",
  "billingProfileId": "<billingProfileId>",
  "skuId": "<skuId>",
  "owners": [
      {
        "objectId": "<userObjectId>"
      },
      {
        "objectId": "<servicePrincipalObjectId>"
      }
    ],
  "costCenter": "35683",
  "managementGroupId": "/providers/Microsoft.Management/managementGroups/xxxxxxx",",
}'

Имя элемента Обязательное поле Type Описание
displayName Да Строка Отображаемое имя подписки.
billingProfileId Да Строка Идентификатор профиля выставления счетов, для которого будет взиматься плата за использование подписки.
skuId Да Строка Идентификатор SKU, определяющий тип плана Azure.
owners Нет Строка Идентификатор объекта любого пользователя или субъекта-службы, который добавляется в качестве владельца Azure RBAC для подписки при ее создании.
costCenter Нет Строка Место возникновения затрат, связанное с подпиской. Он отображается в CSV-файле потребления.
managementGroupId Нет Строка Идентификатор группы управления, в которую будет добавлена подписка. Сведения о том, как получить список групп управления, см. в статье Группы управления: вывод списка API. Используйте идентификатор группы управления из API.

В ответе возвращается объект subscriptionCreationResult для отслеживания. После завершения создания подписки объект subscriptionCreationResult вернет объект subscriptionLink с идентификатором подписки.

Создание подписок для учетной записи выставления счетов по MPA

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

Необходимые компоненты

Чтобы создать подписку для учетной записи выставления счетов, необходимо иметь роль глобального администратора или агента администратора в учетной записи поставщика облачных решений вашей организации. Дополнительные сведения см. в статье Назначение ролей и разрешений пользователям компании для работы в Центре партнеров.

В следующих примерах используются интерфейсы REST API. В настоящее время PowerShell и Azure CLI не поддерживаются.

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

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

GET https://management.azure.com/providers/Microsoft.Billing/billingAccounts?api-version=2019-10-01-preview

В ответе API будут перечислены учетные записи выставления счетов.

{
  "value": [
    {
      "id": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "name": "99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "properties": {
        "accountId": "5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "accountStatus": "Active",
        "accountType": "Enterprise",
        "agreementType": "MicrosoftPartnerAgreement",
        "displayName": "Contoso",
        "hasReadAccess": true,
        "organizationId": "1d100e69-xxxx-xxxx-xxxx-xxxxxxxxxxxxx_xxxx-xx-xx"
      },
      "type": "Microsoft.Billing/billingAccounts"
    },
    {
      "id": "/providers/Microsoft.Billing/billingAccounts/4f89e155-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "name": "4f89e155-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "properties": {
        "accountId": "4f89e155-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "accountStatus": "Active",
        "accountType": "Enterprise",
        "agreementType": "MicrosoftCustomerAgreement",
        "displayName": "Fabrikam",
        "hasReadAccess": true,
        "organizationId": "1d100e69-xxxx-xxxx-xxxx-xxxxxxxxxxxxx_xxxx-xx-xx"
      },
      "type": "Microsoft.Billing/billingAccounts"
    }
  ]
}

Используйте свойство displayName, чтобы определить учетную запись выставления счетов, для которой нужно создать подписки. Убедитесь, что значение agreementType для учетной записи равно MicrosoftPartnerAgreement. Скопируйте name для учетной записи. Например, чтобы создать подписку для учетной записи выставления счетов Contoso, скопируйте 99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге.

Поиск клиентов, имеющих планы Azure

Выполните следующий запрос, заменив <billingAccountName> на значение name, скопированное на первом шаге (5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx), чтобы получить список всех клиентов в учетной записи выставления счетов, для которых вы можете создавать подписки Azure.

GET https://management.azure.com/providers/Microsoft.Billing/billingAccounts/<billingAccountName>/customers?api-version=2019-10-01-preview

В ответе API будут перечислены клиенты в учетной записи выставления счетов с планами Azure. Вы можете создать подписки для этих клиентов.

{
  "value": [
    {
      "id": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/2281f543-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name": "2281f543-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "properties": {
        "billingProfileDisplayName": "Contoso USD",
        "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/JUT6-xxxx-xxxx-xxxx",
        "displayName": "Fabrikam toys"
      },
      "type": "Microsoft.Billing/billingAccounts/customers"
    },
    {
      "id": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/97c3fac4-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name": "97c3fac4-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "properties": {
        "billingProfileDisplayName": "Fabrikam sports",
        "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/JUT6-xxxx-xxxx-xxxx",
        "displayName": "Fabrikam bakery"
      },
      "type": "Microsoft.Billing/billingAccounts/customers"
    }]
}

Используйте свойство displayName, чтобы определить клиентов, для которых нужно создать подписки. Скопируйте значение id для клиента. Например, чтобы создать подписку для Fabrikam toys, скопируйте /providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/2281f543-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Вставьте это значение в любое место, чтобы использовать его для последующих шагов.

Необязательно для непрямых поставщиков: получение торговых посредников для клиента

Непрямой поставщик в двухуровневой модели CSP может указать торгового посредника при создании подписок для клиентов.

Отправьте следующий запрос, заменив <customerId> на значение id, скопированное на втором шаге (/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/2281f543-xxxx-xxxx-xxxx-xxxxxxxxxxxx), чтобы получить список всех торговых посредников, доступных для клиента.

GET https://management.azure.com<customerId>?$expand=resellers&api-version=2019-10-01-preview

В ответе API будут перечислены торговые посредники для клиента.

{
  "value": [{
  "id": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/2ed2c490-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "2ed2c490-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Microsoft.Billing/billingAccounts/customers",
  "properties": {
    "displayName": "Fabrikam toys",
    "resellers": [
      {
        "resellerId": "3xxxxx",
        "description": "Wingtip"
      }
    ]
  }
},
{
  "id": "/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/4ed2c793-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "4ed2c793-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Microsoft.Billing/billingAccounts/customers",
  "properties": {
    "displayName": "Fabrikam toys",
    "resellers": [
      {
        "resellerId": "5xxxxx",
        "description": "Tailspin"
      }
    ]
  }
}]
}

Используйте свойство description, чтобы определить торгового посредника, который связан с подпиской. Скопируйте значение resellerId для торгового посредника. Например, чтобы связать Wingtip, скопируйте 3xxxxx. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге.

Создание подписки для клиента

В следующем примере создается подписка с именем Dev Team subscription для Fabrikam toys, которая затем связывается с торговым посредником Wingtip.

Выполните следующий запрос, заменив идентификатор <customerId> на id, скопированный на втором шаге (/providers/Microsoft.Billing/billingAccounts/99a13315-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/2281f543-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Передайте в параметрах запроса API необязательное значение resellerId, скопированное на втором шаге.

POST https://management.azure.com<customerId>/providers/Microsoft.Subscription/createSubscription?api-version=2018-11-01-preview
'{"displayName": "Dev Team subscription",
  "skuId": "0001",
  "resellerId": "<resellerId>",
}'
Имя элемента Обязательное поле Type Описание
displayName Да Строка Отображаемое имя подписки.
skuId Да Строка Идентификатор SKU плана Azure. Используйте 0001 для подписок типа "План Microsoft Azure".
resellerId Нет Строка Идентификатор торгового посредника, который будет связан с подпиской.

В ответе возвращается объект subscriptionCreationResult для отслеживания. По завершении создания подписки объект subscriptionCreationResult возвращает объект subscriptionLink. Он содержит идентификатор подписки.

Следующие шаги