Supprimer un compte client du bac à sable d’intégration

S’applique à : Espace partenaires | Espace partenaires géré par 21Vianet | Espace partenaires de Microsoft Cloud for US Government

Cet article explique comment rompre la relation entre le partenaire et le compte client et récupérer le quota pour le bac à sable d’intégration test en production (conseil).

Important

Lorsque vous supprimez un compte client, toutes les ressources associées à ce locataire client sont vidées.

Prérequis

  • Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec des informations d’identification d’application autonome et d’application+utilisateur.

  • ID du client (customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans l’Espace partenaires en sélectionnant l’espace de travail Clients , puis le client dans la liste des clients, puis Compte. Dans la page du compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est le même que l’ID de client (customer-tenant-id).

  • Toutes les instances de machine virtuelle réservées Azure et les bons de commandes d’achat de logiciels doivent être annulés avant de supprimer un client du bac à sable d’intégration tip.

C#

Pour supprimer un client du bac à sable d’intégration tip :

  1. Transmettez les informations d’identification de votre compte Tip à la méthode CreatePartnerOperations pour obtenir une interface IPartner aux opérations partenaires.

  2. Utilisez l’interface des opérations partenaires pour récupérer la collection de droits :

    1. Appelez la méthode Customers.ById() avec l’identificateur client pour spécifier le client.

    2. Appelez la propriété Entitlements .

    3. Appelez la méthode Get ou GetAsync pour récupérer la collection Entitlement .

  3. Assurez-vous que toutes les instances de machines virtuelles réservées Azure et les bons de commande d’achat de logiciels pour ce client sont annulés. Pour chaque droit dans la collection :

    1. Utilisez le entitlement.ReferenceOrder.Id pour obtenir une copie locale de la commande correspondante à partir de la collection de commandes du client.

    2. Définissez la propriété Order.Status sur « Cancelled ».

    3. Utilisez la méthode Patch() pour mettre à jour l’ordre.

  4. Annuler toutes les commandes. Par exemple, l’exemple de code suivant utilise une boucle pour interroger chaque commande jusqu’à ce que son status soit « Annulé ».

    // 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. Vérifiez que toutes les commandes sont annulées en appelant la méthode Delete pour le client.

Exemple : application de test console. Projet : Espace partenaires PartnerCenterSDK.FeaturesSamples , classe : DeleteCustomerFromTipAccount.cs

Demande REST

Syntaxe de la requête

Méthode URI de demande
Suppression {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

Paramètre d’URI

Utilisez le paramètre de requête suivant pour supprimer un client.

Nom Type Obligatoire Description
customer-tenant-id GUID O La valeur est un id client-client au format GUID qui permet au revendeur de filtrer les résultats pour un client donné qui appartient au revendeur.

En-têtes de requête

Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.

Corps de demande

Aucun.

Exemple de requête

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

Réponse REST

Si elle réussit, cette méthode retourne une réponse vide.

Codes d’erreur et de réussite de la réponse

Chaque réponse est accompagnée d’un code d’état HTTP qui indique la réussite ou l’échec ainsi que des informations de débogage supplémentaires. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez Codes d’erreur REST de l’Espace partenaires.

Exemple de réponse

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