Condividi tramite


Eliminare un account cliente dalla sandbox integrazione

Si applica a: Centro per i partner | Centro per i partner gestito da 21Vianet | Centro per i partner per Microsoft Cloud for US Government

Questo articolo illustra come interrompere la relazione tra il partner e l'account cliente e recuperare la quota per Testing in Production (Tip) integration sandbox.

Importante

Quando si elimina un account cliente, tutte le risorse associate al tenant del cliente verranno eliminate.

Prerequisiti

  • Credenziali descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione con le credenziali app autonome e app+utente.

  • ID cliente (customer-tenant-id). Se non si conosce l'ID del cliente, è possibile cercarlo nel Centro per i partner selezionando l'area di lavoro Clienti , quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina dell'account del cliente cerca l'ID Microsoft nella sezione Info account del cliente. L'ID Microsoft corrisponde all'ID cliente (customer-tenant-id).

  • Tutte le istanze di macchine virtuali riservate di Azure e gli ordini di acquisto software devono essere annullati prima di eliminare un cliente dalla sandbox di integrazione suggerimento.

C#

Per eliminare un cliente dalla sandbox di integrazione suggerimento:

  1. Passare le credenziali dell'account Tip al metodo CreatePartnerOperations per ottenere un'interfaccia IPartner alle operazioni partner.

  2. Usare l'interfaccia delle operazioni partner per recuperare la raccolta di diritti:

    1. Chiamare il metodo Customers.ById() con l'identificatore del cliente per specificare il cliente.

    2. Chiamare la proprietà Entitlements .

    3. Chiamare il metodo Get o GetAsync per recuperare l'insieme Entitlement.

  3. Assicurarsi che tutte le istanze di macchine virtuali riservate di Azure e gli ordini di acquisto software per il cliente vengano annullati. Per ogni diritto nella raccolta:

    1. Usare la entitlement.ReferenceOrder.Id per ottenere una copia locale dell'ordine corrispondente dalla raccolta di ordini del cliente.

    2. Impostare la proprietà Order.Status su "Annullata".

    3. Usare il metodo Patch() per aggiornare l'ordine.

  4. Annullare tutti gli ordini. Ad esempio, l'esempio di codice seguente usa un ciclo per eseguire il polling di ogni ordine fino a quando lo stato non viene annullato.

    // 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. Assicurarsi che tutti gli ordini vengano annullati chiamando il metodo Delete per il cliente.

Esempio: app di test della console. Progetto: Classe Partner Center PartnerCenterSDK.FeaturesSamples: DeleteCustomerFromTipAccount.cs

Richiesta REST

Sintassi della richiesta

Metodo URI richiesta
DOLETE {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

Parametro URI

Usare il parametro di query seguente per eliminare un cliente.

Nome Tipo Obbligatoria Description
customer-tenant-id GUID S Il valore è un GUID formattato customer-tenant-id che consente al rivenditore di filtrare i risultati per un determinato cliente che appartiene al rivenditore.

Intestazioni della richiesta

Per altre informazioni, vedi Intestazioni REST del Centro per i partner.

Testo della richiesta

Nessuno.

Esempio di richiesta

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

Risposta REST

In caso di esito positivo, questo metodo restituisce una risposta vuota.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che ne indica l'esito e con informazioni di debug aggiuntive. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedi Codici di errore REST del Centro per i partner.

Esempio di risposta

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