Udostępnij za pośrednictwem


Programowe tworzenie subskrypcji platformy Azure za pomocą starszej wersji interfejsów API

Ten artykuł ułatwia programowe tworzenie subskrypcji platformy Azure przy użyciu naszego starszego interfejsu API w wersji zapoznawczej. W tym artykule dowiesz się, jak programowo tworzyć subskrypcje za pomocą usługi Azure Resource Manager.

Mamy nowe artykuły dotyczące najnowszej wersji interfejsu API dotyczące różnego typu subskrypcji umów platformy Azure:

Nadal możesz jednak korzystać z informacji znajdujących się w tym artykule, jeśli nie chcesz korzystać z najnowszej wersji interfejsu API.

Programowe tworzenie subskrypcji jest dostępne dla klientów platformy Azure z kontem rozliczeniowym dla następujących typów umów:

  • Enterprise Agreement
  • Umowa klienta firmy Microsoft (MCA)
  • Umowa partnerska firmy Microsoft

Subskrypcja platformy Azure utworzona programowo podlega warunkom umowy, w ramach której nabyto usługi platformy Azure od firmy Microsoft lub autoryzowanego odsprzedawcy. Aby dowiedzieć się więcej, zobacz informacje prawne dotyczące platformy Microsoft Azure.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Nie można programowo tworzyć planów pomocy technicznej. Możesz kupić nowy plan pomocy technicznej lub uaktualnić go w witrynie Azure Portal. Przejdź do pozycji Pomoc i wsparcie techniczne, a następnie w górnej części strony wybierz pozycję Wybierz odpowiedni plan pomocy technicznej.

Tworzenie subskrypcji dla konta rozliczeniowego umowy EA

W poniższych sekcjach przedstawiono informacje pomocne w tworzeniu subskrypcji umowy EA.

Wymagania wstępne

Aby tworzyć subskrypcję, musisz mieć rolę właściciela konta na koncie rejestracji lub być administratorem przedsiębiorstwa. Istnieją dwa sposoby, aby uzyskać tę rolę:

Odnajdowanie kont, do których masz dostęp

Po dodaniu Cię do konta rejestracji skojarzonego z właścicielem konta platforma Azure na podstawie relacji konto-rejestracja określa, komu wystawić rachunek za opłaty związane z subskrypcją. Wszystkie subskrypcje utworzone w ramach tego konta są rozliczane w ramach rejestracji umowy EA, do której przypisane jest konto. Aby utworzyć subskrypcje, musisz przekazać wartości dotyczące konta rejestracji i jednostki usługi w celu zostania właścicielem subskrypcji.

Aby uruchomić poniższe polecenia, zaloguj się w katalogu macierzystym właściciela konta, czyli katalogu, w którym domyślnie tworzone są subskrypcje.

Wykonaj żądanie wyświetlenia listy wszystkich kont rejestracji, do których masz dostęp:

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

Odpowiedź interfejsu API będzie zawierała listę wszystkich kont rejestracji, do których masz dostęp:

{
  "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"
      }
    }
  ]
}

Użyj właściwości principalName, aby określić konto, w ramach którego będą rozliczane subskrypcje. Skopiuj właściwość name tego konta. Przykładowo aby utworzyć subskrypcje w ramach konta rejestracji SignUpEngineering@contoso.com, skopiuj wartość aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e. Jest to identyfikator obiektu konta rejestracji. Wklej tę wartość w dogodnym miejscu, aby można było jej użyć w następnym kroku jako właściwości enrollmentAccountObjectId.

Tworzenie subskrypcji w ramach konkretnego konta rejestracji

W poniższym przykładzie na koncie rejestracji wybranym w poprzednim kroku zostanie utworzona subskrypcja o nazwie Dev Team Subscription. Oferta subskrypcji to MS-AZR-0017P (zwykła umowa Microsoft Enterprise Agreement). Umożliwia ona opcjonalne dodanie dwóch użytkowników jako właścicieli RBAC platformy Azure w subskrypcji.

Wykonaj następujące żądanie, zastępując wartość <enrollmentAccountObjectId> wartością name skopiowaną z pierwszego kroku (aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb). Aby określić właścicieli, zobacz jak uzyskać identyfikatory obiektów użytkowników.

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>"
    }
  ]
}
Nazwa elementu Wymagania Type Opis
displayName Nie. String Wyświetlana nazwa subskrypcji. Jeśli jej nie określono, będzie nią nazwa oferty, na przykład „Microsoft Azure Enterprise”.
offerType Tak String Oferta subskrypcji. Dwie opcje umowy EA to MS-AZR-0017P (użycie produkcyjne) i MS-AZR-0148P (tworzenie/testowanie, należy włączyć w witrynie Azure Portal).
owners Nie. String Identyfikator obiektu dowolnego użytkownika, który ma zostać dodany jako właściciel RBAC platformy Azure w ramach subskrypcji podczas jego tworzenia.

W nagłówku Location odpowiedzi otrzymasz adres url, którego możesz użyć, aby wykonać zapytanie dotyczące stanu operacji tworzenia subskrypcji. Po zakończeniu tworzenia subskrypcji żądanie GET dla adresu url Location zwróci obiekt subscriptionLink z identyfikatorem subskrypcji. Aby uzyskać więcej informacji, zobacz dokumentację interfejsu API subskrypcji.

Ograniczenia interfejsu API tworzenia subskrypcji Enterprise platformy Azure

  • Przy użyciu tego interfejsu API można tworzyć tylko subskrypcje Enterprise platformy Azure.
  • Obowiązuje limit 5000 subskrypcji na jedno konto rejestracji. Po przekroczeniu tego limitu kolejne subskrypcje dla tego konta można utworzyć wyłącznie w witrynie Azure Portal. Jeśli chcesz utworzyć więcej subskrypcji za pomocą interfejsu API, musisz utworzyć kolejne konto rejestracji. Liczba anulowanych, usuniętych i przesłanych subskrypcji zbliża się do granicy 5000.
  • Użytkownicy, którzy nie są właścicielami konta, ale zostali dodani do konta rejestracji przy użyciu systemu RBAC platformy Azure, nie mogą tworzyć subskrypcji w witrynie Azure Portal.
  • Nie można wybrać dzierżawy, w której ma zostać utworzona subskrypcja. Subskrypcja jest zawsze tworzona w głównej dzierżawie właściciela konta. Jeśli chcesz przenieść subskrypcję do innej dzierżawy, zobacz Zmiana dzierżawy subskrypcji.

Tworzenie subskrypcji dla konta MCA

W poniższych sekcjach przedstawiono informacje pomocne w tworzeniu subskrypcji dla konta MCA.

Wymagania wstępne

Aby tworzyć subskrypcje, musisz mieć rolę właściciela, współautora lub twórcy subskrypcji platformy Azure w sekcji faktury albo rolę właściciela lub współautora w profilu rozliczeniowym lub na koncie rozliczeniowym. Aby uzyskać więcej informacji, zobacz Role rozliczeniowe i zadania w subskrypcji.

W poniższych przykładach użyto interfejsów API REST. Obecnie program PowerShell i interfejs wiersza polecenia platformy Azure nie są obsługiwane.

Odnajdowanie kont rozliczeniowych, do których masz dostęp

Wykonaj następujące żądanie, aby wyświetlić listę wszystkich kont rozliczeniowych.

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

Odpowiedź interfejsu API będzie zawierała listę wszystkich kont rozliczeniowych, do których masz dostęp.

{
  "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"
    }
  ]
}

Użyj właściwości displayName, aby określić konto rozliczeniowe, dla którego chcesz utworzyć subskrypcje. Upewnij się, że parametr agreeementType tego konta to MicrosoftCustomerAgreement. Skopiuj wartość name tego konta. Przykładowo aby utworzyć subskrypcję dla konta rozliczeniowego Contoso, skopiuj wartość bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Wklej tę wartość w dogodnym miejscu, aby można było jej użyć w następnym kroku.

Odnajdowanie sekcji faktury w celu utworzenia subskrypcji

Opłaty za subskrypcję są wyświetlane w sekcji faktury profilu rozliczeniowego. Użyj poniższego interfejsu API, aby uzyskać listę sekcji faktury i profilów rozliczeniowych, w ramach których masz uprawnienie do tworzenia subskrypcji platformy Azure.

Wykonaj następujące żądanie, zastępując wartość <billingAccountName> wartością name skopiowaną z pierwszego kroku (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

Odpowiedź interfejsu API będzie zawierała listę wszystkich sekcji faktur i ich profilów rozliczeniowych, w ramach których masz dostęp do tworzenia subskrypcji:

{
    "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"
  }]
}

Użyj właściwości invoiceSectionDisplayName, aby określić sekcję faktury, dla której chcesz utworzyć subskrypcje. Skopiuj wartość invoiceSectionId, billingProfileId i jedną z wartości skuId sekcji faktury. Przykładowo aby utworzyć subskrypcję typu Microsoft Azure plan dla sekcji faktury Development, skopiuj wartości /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 i 0001. Wklej te wartości w dogodnym miejscu, aby można było użyć ich w następnym kroku.

Tworzenie subskrypcji dla sekcji faktury

W poniższym przykładzie zostanie utworzona subskrypcja o nazwie Dev Team Subscription typu Microsoft Azure Plan dla sekcji faktury Development. Ta subskrypcja jest rozliczana w profilu rozliczeniowym Contoso finance i pojawi się w sekcji Development na tej fakturze.

Wykonaj następujące żądanie, zastępując wartość <invoiceSectionId> wartością invoiceSectionId skopiowaną w drugim kroku (/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). Przekaż wartości billingProfileId i skuId skopiowane w drugim kroku w parametrach żądania interfejsu API. Aby określić właścicieli, zobacz jak uzyskać identyfikatory obiektów użytkowników.

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",",
}'

Nazwa elementu Wymagania Type Opis
displayName Tak String Wyświetlana nazwa subskrypcji.
billingProfileId Tak String Wybierz identyfikator profilu rozliczeniowego, dla którego są naliczane opłaty za subskrypcję.
skuId Tak String Identyfikator jednostki SKU, który określa typ planu platformy Azure.
owners Nie. String Identyfikator obiektu dowolnego użytkownika lub jednostki usługi, który ma zostać dodany jako właściciel RBAC platformy Azure subskrypcji po jej utworzeniu.
costCenter Nie. String Centrum kosztów skojarzone z subskrypcją. Zostanie ono wyświetlone w pliku CSV dotyczącym użycia.
managementGroupId Nie. String Identyfikator grupy zarządzania, do której zostanie dodana subskrypcja. Jeśli chcesz uzyskać listę grup zarządzania, zobacz Grupy zarządzania — interfejs API listy. Użyj identyfikatora grupy zarządzania uzyskanego za pomocą interfejsu API.

W odpowiedzi uzyskasz obiekt subscriptionCreationResult na potrzeby monitorowania. Po zakończeniu tworzenia subskrypcji obiekt subscriptionCreationResult zwraca obiekt subscriptionLink z identyfikatorem subskrypcji.

Tworzenie subskrypcji dla konta rozliczeniowego umowy MPA

W poniższych sekcjach przedstawiono informacje pomocne w tworzeniu subskrypcji dla konta rozliczeniowego MPA.

Wymagania wstępne

Aby utworzyć subskrypcję dla konta rozliczeniowego, musisz mieć rolę agenta administracyjnego na koncie Dostawca rozwiązań w chmurze organizacji. Aby dowiedzieć się więcej, zobacz Centrum partnerskie — przypisywanie ról i uprawnień użytkowników.

W poniższych przykładach użyto interfejsów API REST. Obecnie program PowerShell i interfejs wiersza polecenia platformy Azure nie są obsługiwane.

Odnajdowanie kont rozliczeniowych, do których masz dostęp

Wykonaj następujące żądanie, aby wyświetlić listę wszystkich kont rozliczeniowych, do których masz dostęp.

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

Odpowiedź interfejsu API zawiera listę wszystkich kont rozliczeniowych.

{
  "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"
    }
  ]
}

Użyj właściwości displayName, aby określić konto rozliczeniowe, dla którego chcesz utworzyć subskrypcje. Upewnij się, że parametr agreementType tego konta to MicrosoftPartnerAgreement. Skopiuj wartość name tego konta. Przykładowo aby utworzyć subskrypcję dla konta rozliczeniowego Contoso, skopiuj wartość cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx. Wklej tę wartość w dogodnym miejscu, aby można było jej użyć w następnym kroku.

Odnajdowanie klientów z planami platformy Azure

Wykonaj następujące żądanie, zastępując wartość <billingAccountName> wartością nameskopiowaną w pierwszym kroku (bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx), aby uzyskać listę wszystkich klientów na koncie rozliczeniowym, dla których możesz utworzyć subskrypcje platformy Azure.

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

Odpowiedź interfejsu API będzie zawierała listę klientów z planami platformy Azure na koncie rozliczeniowym. Dla tych klientów można utworzyć subskrypcje.

{
  "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"
    }]
}

Użyj właściwości displayName, aby określić klienta, dla którego chcesz utworzyć subskrypcje. Skopiuj wartość id klienta. Przykładowo aby utworzyć subskrypcję dla konta Fabrikam toys, skopiuj wartość /providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b. Wklej tę wartość w dogodnym miejscu, aby można było z niej skorzystać w kolejnych krokach.

Opcjonalnie dla dostawców pośrednich: pobieranie odsprzedawców dla klienta

Jeśli jesteś dostawcą pośrednim w modelu dwuwarstwowym dostawców usług w chmurze, możesz określić odsprzedawcę podczas tworzenia subskrypcji dla klientów.

Wykonaj następujące żądanie, zastępując wartość <customerId> wartością id skopiowaną w drugim kroku (/providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b), aby uzyskać listę wszystkich odsprzedawców dostępnych dla klienta.

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

Odpowiedź interfejsu API będzie zawierała listę odsprzedawców dla klienta:

{
  "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"
      }
    ]
  }
}]
}

Użyj właściwości description, aby określić odsprzedawcę, który zostanie skojarzony z subskrypcją. Skopiuj wartość resellerId odsprzedawcy. Przykładowo aby skojarzyć odsprzedawcę Wingtip, skopiuj wartość 3xxxxx. Wklej tę wartość w dogodnym miejscu, aby można było jej użyć w następnym kroku.

Tworzenie subskrypcji dla klienta

W poniższym przykładzie zostanie utworzona subskrypcja o nazwie Dev Team subscription dla klienta Fabrikam toys ze skojarzonym odsprzedawcą Wingtip.

Wykonaj następujące żądanie, zastępując wartość <customerId> wartością id skopiowaną w drugim kroku (/providers/Microsoft.Billing/billingAccounts/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/customers/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b). Przekaż opcjonalną wartość resellerId skopiowaną w drugim kroku w parametrach żądania interfejsu 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>",
}'
Nazwa elementu Wymagania Type Opis
displayName Tak String Wyświetlana nazwa subskrypcji.
skuId Tak String Identyfikator jednostki SKU planu platformy Azure. Użyj ciągu 0001 dla subskrypcji typu Microsoft Azure Plan.
resellerId Nie. String Identyfikator odsprzedawcy, który zostanie skojarzony z subskrypcją.

W odpowiedzi uzyskasz obiekt subscriptionCreationResult na potrzeby monitorowania. Po zakończeniu tworzenia subskrypcji obiekt subscriptionCreationResult zwraca obiekt subscriptionLink. Zawiera on identyfikator subskrypcji.

Następne kroki