Löschen eines Kundenkontos aus der Integrationssandbox

Gilt für: Partner Center | Partner Center-Betrieb durch 21Vianet | Partner Center für Microsoft Cloud for US Government

In diesem Artikel wird erläutert, wie Sie die Beziehung zwischen dem Partner und dem Kundenkonto unterbrechen und das Kontingent für die Integrationssandbox "Testen in der Produktion (Tipp)" wiedererlangen.

Wichtig

Wenn Sie ein Kundenkonto löschen, werden alle Ressourcen, die diesem Kundenmandanten zugeordnet sind, gelöscht.

Voraussetzungen

  • Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung sowohl mit eigenständigen App- als auch mit App+Benutzeranmeldeinformationen.

  • Eine Kunden-ID (customer-tenant-id). Wenn Sie die ID des Kunden nicht kennen, können Sie sie im Partner Center nachschlagen, indem Sie den Arbeitsbereich Kunden und dann den Kunden aus der Kundenliste und dann Konto auswählen. Suchen Sie auf der Kontoseite des Kunden im Abschnitt Kundenkontoinfo nach der Microsoft-ID. Die Microsoft-ID entspricht der Kunden-ID (customer-tenant-id).

  • Alle Azure Reserved Virtual Machine Instances und Softwarebestellungen müssen storniert werden, bevor ein Kunde aus der Tipp-Integrationssandbox gelöscht wird.

C#

So löschen Sie einen Kunden aus der Tipp-Integrationssandbox:

  1. Übergeben Sie die Anmeldeinformationen Ihres Tip-Kontos an die CreatePartnerOperations-Methode , um eine IPartner-Schnittstelle für Partnervorgänge abzurufen.

  2. Verwenden Sie die Partneroperationsschnittstelle, um die Sammlung von Berechtigungen abzurufen:

    1. Rufen Sie die Customers.ById()- Methode mit dem Kundenbezeichner auf, um den Kunden anzugeben.

    2. Rufen Sie die Entitlements-Eigenschaft auf .

    3. Rufen Sie die Get- oder GetAsync-Methode auf, um die Entitlement-Auflistung abzurufen.

  3. Stellen Sie sicher, dass alle reservierten Azure-VM-Instanzen und Softwarebestellungen für diesen Kunden storniert werden. Für jede Berechtigung in der Auflistung:

    1. Verwenden Sie die entitlement.ReferenceOrder.Id , um eine lokale Kopie der entsprechenden Bestellung aus der Bestellsammlung des Kunden abzurufen.

    2. Legen Sie die Order.Status-Eigenschaft auf "Cancelled" fest.

    3. Verwenden Sie die Patch()- Methode, um die Reihenfolge zu aktualisieren.

  4. Alle Bestellungen stornieren. Im folgenden Codebeispiel wird beispielsweise eine Schleife verwendet, um jede Bestellung abzufragen, bis die status "Cancelled" lautet.

    // 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. Stellen Sie sicher, dass alle Bestellungen storniert werden, indem Sie die Delete-Methode für den Kunden aufrufen.

Beispiel: Konsolentest-App. Projekt: Partner Center PartnerCenterSDK.FeaturesSamples-Klasse: DeleteCustomerFromTipAccount.cs

REST-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
Delete {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

URI-Parameter

Verwenden Sie den folgenden Abfrageparameter, um einen Kunden zu löschen.

Name Typ Erforderlich Beschreibung
customer-tenant-id GUID J Der Wert ist eine GUID-formatierte Customer-Tenant-ID , mit der der Wiederverkäufer die Ergebnisse für einen bestimmten Kunden filtern kann, der zum Händler gehört.

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center-REST-Header.

Anforderungstext

Keine.

Anforderungsbeispiel

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: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
Content-Length: 0

REST-Antwort

Bei erfolgreicher Ausführung gibt diese Methode eine leere Antwort zurück.

Erfolgs- und Fehlercodes der Antwort

Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-REST-Fehlercodes.

Antwortbeispiel

HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT