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.

Opracowaliśmy nowe artykuły dla najnowszej wersji API do użycia z różnymi typami subskrypcji w ramach umów 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:

  • Umowa Przedsiębiorstwa
  • 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 uzyskać więcej informacji, zobacz Microsoft Azure Legal Information (Informacje prawne dotyczące platformy Microsoft Azure).

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az programu PowerShell, zobacz Migrowanie 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 obsługa techniczna , a następnie w górnej części strony wybierz pozycję Wybierz odpowiedni plan pomocy technicznej.

Tworzenie subskrypcji dla konta rozliczeniowego EA

Użyj informacji zawartych w poniższych sekcjach do tworzenia subskrypcji 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 EA, do której przypisane jest konto. Aby utworzyć subskrypcje, musisz przekazać wartości dotyczące konta rejestracyjnego oraz uprawnień użytkowników do posiadania subskrypcji.

Aby uruchomić następujące polecenia, musisz zalogować się do katalogu macierzystego właściciela konta, który jest katalogiem, w którym subskrypcje są tworzone domyślnie.

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 kopię name tego konta. Na przykład, aby utworzyć subskrypcje w ramach konta rejestracyjnego SignUpEngineering@contoso.com, skopiuj 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

Poniższy przykład tworzy subskrypcję o nazwie Dev Team Subscription na koncie rejestracji wybranym w poprzednim kroku. 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żytkownika.

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 Wymagane Typ Opis
displayName Nie. Sznurek Wyświetlana nazwa subskrypcji. Jeśli jej nie określono, będzie nią nazwa oferty, na przykład „Microsoft Azure Enterprise”.
offerType Tak Sznurek Oferta subskrypcji. Dwie opcje umowy EA to MS-AZR-0017P (dla produkcji) i MS-AZR-0148P (dla deweloperów/testów, wymaga włączenia w portalu Azure).
owners Nie. Sznurek Identyfikator obiektu każdego użytkownika, który ma zostać dodany jako Właściciel RBAC w ramach subskrypcji platformy Azure, gdy ta jest tworzona.

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, zapoznaj się z dokumentacją interfejsu API subskrypcji

Ograniczenia interfejsu API tworzenia subskrypcji Enterprise dla 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ć tenanta, dla którego ma być utworzona subskrypcja. Subskrypcja jest zawsze tworzona w macierzystej dzierżawie właściciela konta. Aby przenieść subskrypcję do innej dzierżawy, zobacz Zmienianie 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 i zadania rozliczeniowe 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 typ umowy 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.

Znajdź sekcje faktury, aby utworzyć subskrypcje

Opłaty za subskrypcję znajdują się w sekcji faktury dotyczącej 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 invoiceSectionId, billingProfileId i jedną z skuId do 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 tworzona jest subskrypcja o nazwie Dev Team subscription typu Plan platformy Microsoft Azure dla sekcji faktury Development. Subskrypcja jest rozliczana w profilu rozliczeniowym działu finansowego firmy Contoso i wyświetlana w sekcji Programowanie na 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żytkownika.

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 Wymagane Typ Opis
displayName Tak Sznurek Wyświetlana nazwa subskrypcji.
billingProfileId Tak Sznurek Identyfikator profilu rozliczeniowego, który jest obciążany opłatami za subskrypcję.
skuId Tak Sznurek Identyfikator SKU, który określa typ planu Azure.
owners Nie. Sznurek Identyfikator obiektu dowolnego użytkownika lub jednostki usługi, który ma zostać dodany jako właściciel subskrypcji w RBAC platformy Azure po jej utworzeniu.
costCenter Nie. Sznurek Centrum kosztów skojarzone z subskrypcją. Zostanie ono wyświetlone w pliku CSV dotyczącym użycia.
managementGroupId Nie. Sznurek Identyfikator grupy zarządzania, do której zostanie dodana subskrypcja. Aby uzyskać listę grup zarządzania, zobacz Zarządzanie grupami — 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.

Utwórz subskrypcje 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ę na konto rozliczeniowe, musisz mieć rolę Agenta administratora w koncie Cloud Solution Provider organizacji. Aby uzyskać więcej informacji, 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 typ umowy konta to MicrosoftPartnerAgreement. Skopiuj name dla 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 na koncie rozliczeniowym z planami platformy Azure. 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 id dla 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.

Opcjonalne dla dostawców pośrednich: uzyskaj informacje o odsprzedawcach 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 resellerId dla odsprzedawcy. Przykładowo, aby skojarzyć Wingtip, skopiuj 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 jest tworzona subskrypcja o nazwie Dev Team subscription for Fabrikam toys and associate Wingtip reseller to the subscription (Subskrypcja zespołu deweloperskiego dla zabawek firmy Fabrikam) i kojarzenie odsprzedawcy Wingtip z subskrypcją.

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ż opcjonalny identyfikator resellerId skopiowany z drugiego 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 Wymagane Typ Opis
displayName Tak Sznurek Wyświetlana nazwa subskrypcji.
skuId Tak Sznurek Identyfikator SKU planu Azure. Użyj 0001 dla subskrypcji typu Plan platformy Microsoft Azure
resellerId Nie. Sznurek 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

  • Aby wyświetlić i zapoznać się z przykładem tworzenia subskrypcji umowy Enterprise Agreement (EA) przy użyciu platformy .NET, zobacz przykładowy kod w witrynie GitHub.