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


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

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

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

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

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

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

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

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Сведения о миграции в модуль Az PowerShell см. в статье "Миграция Azure PowerShell из AzureRM в Az".

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

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

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

Предварительные условия

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

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

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

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

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

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

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

{
  "value": [
    {
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "name": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "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, скопируйте aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e. Этот идентификатор — идентификатор объекта учетной записи регистрации. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге как enrollmentAccountObjectId.

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

В следующем примере создается подписка с именем "Подписка группы разработчиков " в учетной записи регистрации, выбранной на предыдущем шаге. Предложение подписки — MS-AZR-0017P (обычное соглашение Microsoft Enterprise). Также по желанию добавляются два пользователя в качестве владельцев Azure RBAC для подписки.

Выполните следующий запрос, заменив <enrollmentAccountObjectId> на name, скопированный на первом шаге (aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb). Чтобы указать владельцев, узнайте, как получить идентификаторы объектов пользователя.

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>"
    }
  ]
}
Имя элемента Обязательное поле Тип Описание
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/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "name": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "properties": {
        "accountId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
        "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, чтобы определить учетную запись выставления счетов, для которой нужно создать подписки. Убедитесь, что тип соглашения учетной записи — MicrosoftCustomerAgreement. Скопируйте значение name учетной записи. Например, чтобы создать подписку для учетной записи выставления счетов Contoso, скопируйте bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге.

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

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

Выполните следующий запрос, заменив <billingAccountName> на name, скопированный на первом шаге (bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_2019-05-31/billingProfiles/PBFV-XXXX-XXX-XXX/invoiceSections/GJGR-XXXX-XXX-XXX, /providers/Microsoft.Billing/billingAccounts/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_2019-05-31/billingProfiles/PBFV-xxxx-xxx-xxx и 0001. Вставьте эти значения в любое место, чтобы их можно было использовать на следующем шаге.

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

В следующем примере создается подписка с именем "Группа разработчиков" типа Microsoft Azure Plan для раздела накладной Разработки. Подписка проводится через профиль выставления счетов финансового отдела Contoso и отображается в разделе Разработка их счета.

Выполните следующий запрос, заменив идентификатор <invoiceSectionId> на invoiceSectionId, скопированный на втором шаге (/providers/Microsoft.Billing/billingAccounts/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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",",
}'

Имя элемента Обязательное поле Тип Описание
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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "name": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx",
      "properties": {
        "accountId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
        "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, чтобы определить учетную запись выставления счетов, для которой нужно создать подписки. Убедитесь, что тип соглашения учетной записи — MicrosoftPartnerAgreement. Скопируйте name для учетной записи. Например, чтобы создать подписку для учетной записи выставления счетов Contoso, скопируйте cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге.

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

Выполните следующий запрос, заменив <billingAccountName> на значение name, скопированное на первом шаге (bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f: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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b",
      "name": "dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b",
      "properties": {
        "billingProfileDisplayName": "Contoso USD",
        "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a: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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a: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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a: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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b. Вставьте это значение в любое место, чтобы использовать его для последующих шагов.

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

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

Отправьте следующий запрос, заменив <customerId> на значение id, скопированное на втором шаге (/providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b), чтобы получить список всех торговых посредников, доступных для клиента.

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

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

{
  "value": [{
  "id": "/providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a: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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a: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 для игрушек Fabrikam и связывание торгового посредника Wingtip с подпиской.

Выполните следующий запрос, заменив идентификатор <customerId> на id, скопированный на втором шаге (/providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b). Передайте необязательный resellerId, скопированный на втором шаге, в параметрах запроса API.

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

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

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