Udostępnij za pośrednictwem


Usuwanie konta klienta z piaskownicy integracji

Dotyczy: Centrum partnerskie | Centrum partnerskie obsługiwane przez firmę 21Vianet | Centrum partnerskie dla Microsoft Cloud for US Government

W tym artykule wyjaśniono, jak przerwać relację między partnerem a kontem klienta i odzyskać limit przydziału dla piaskownicy integracji Testowanie w środowisku produkcyjnym (porada).

Ważne

Usunięcie konta klienta spowoduje przeczyszczenie wszystkich zasobów skojarzonych z tą dzierżawą klienta.

Wymagania wstępne

  • Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.

  • Identyfikator klienta (customer-tenant-id). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w Centrum partnerskim , wybierając obszar roboczy Klienci , a następnie klienta z listy klienta, a następnie pozycję Konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta . Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id).

  • Przed usunięciem klienta z piaskownicy integracji porad należy anulować wszystkie wystąpienia zarezerwowane maszyn wirtualnych i zamówienia zakupu oprogramowania platformy Azure.

C#

Aby usunąć klienta z piaskownicy integracji porad:

  1. Przekaż poświadczenia konta tip do metody CreatePartnerOperations , aby uzyskać interfejs IPartner do operacji partnerskich.

  2. Użyj interfejsu operacji partnera, aby pobrać kolekcję uprawnień:

    1. Wywołaj metodę Customers.ById() z identyfikatorem klienta, aby określić klienta.

    2. Wywołaj właściwość Entitlements .

    3. Wywołaj metodę Get lub GetAsync , aby pobrać kolekcję Entitlement .

  3. Upewnij się, że wszystkie wystąpienia zarezerwowane maszyn wirtualnych platformy Azure i zamówienia zakupu oprogramowania dla tego klienta zostały anulowane. Dla każdego uprawnienia w kolekcji:

    1. Użyj entitlement.ReferenceOrder.Id , aby uzyskać lokalną kopię odpowiedniego zamówienia z kolekcji zamówień klienta.

    2. Ustaw właściwość Order.Status na wartość "Cancelled".

    3. Użyj metody Patch(), aby zaktualizować kolejność.

  4. Anuluj wszystkie zamówienia. Na przykład poniższy przykładowy kod używa pętli do sondowania każdego zamówienia, dopóki jego stan to "Anulowano".

    // IPartnerCredentials tipAccountCredentials;
    // Customer tenant Id to be deleted.
    // string customerTenantId;
    
    IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials);
    
    // Get all entitlements whose order must be canceled.
    ResourceCollection<Entitlement> entitlements = tipAccountPartnerOperations.Customers.ById(customerTenantId).Entitlements.Get();
    
    // Cancel all orders
    foreach (var entitlement in entitlements)
    {
        var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(entitlement.ReferenceOrder.Id).Get();
        order.Status = "Cancelled";
        order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(order.Id).Patch(order);
    }
    
    // Keep polling until the status of all orders is "Cancelled".
    bool proceed = true;
    do
    {
        // Check if all the orders were canceled.
        foreach (var entitlement in entitlements)
        {
            var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(entitlement.ReferenceOrder.Id).Get();
            if (!order.Status.Equals("Cancelled", StringComparison.OrdinalIgnoreCase))
            {
                proceed = false;
            }
        }
    
        // Wait for a few seconds.
        Thread.Sleep(5000);
    }
    while (proceed == false);
    
    tipAccountPartnerOperations.Customers.ById(customerTenantId).Delete();
    
  5. Upewnij się, że wszystkie zamówienia zostały anulowane, wywołując metodę Delete dla klienta.

Przykład: aplikacja testowa konsoli. Projekt: Partner Center PartnerCenterSDK.FeaturesSamples , klasa: DeleteCustomerFromTipAccount.cs

Żądanie REST

Składnia żądania

Metoda Identyfikator URI żądania
DELETE {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

Parametr identyfikatora URI

Użyj następującego parametru zapytania, aby usunąć klienta.

Nazwa Typ Wymagane Opis
customer-tenant-id GUID Y Wartość to identyfikator GUID w formacie customer-tenant-id , który umożliwia odsprzedawcy filtrowanie wyników dla danego klienta należącego do odsprzedawcy.

Nagłówki żądań

Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.

Treść żądania

Brak.

Przykład żądania

DELETE https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Length: 0

Odpowiedź REST

W przypadku powodzenia ta metoda zwraca pustą odpowiedź.

Kody powodzenia i błędów odpowiedzi

Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie oraz dodatkowe informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i dodatkowe parametry. Aby uzyskać pełną listę, zobacz Kody błędów REST Centrum partnerskiego.

Przykład odpowiedzi

HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT