Tümleştirme korumalı alandan bir müşteri hesabını silme

Uygulama hedefi: Iş Ortağı Merkezi | 21Vianet tarafından işletilen iş ortağı Merkezi | Microsoft Bulut Almanya için iş ortağı Merkezi | Microsoft Cloud for US Government için iş ortağı Merkezi

Bu makalede, iş ortağı ile müşteri hesabı arasındaki ilişkiyi bölmek ve üretim (tıp) tümleştirme korumalı alanında test için kotayı geri kazanmak açıklanmaktadır.

Önemli

Bir müşteri hesabını sildiğinizde, bu müşteri kiracısıyla ilişkili tüm kaynaklar temizlenir.

Önkoşullar

  • Iş ortağı merkezi kimlik doğrulamasındaaçıklandığı gibi kimlik bilgileri. Bu senaryo, hem tek başına uygulama hem de uygulama + kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Bir müşteri KIMLIĞI ( customer-tenant-id ). Müşterinin KIMLIĞINI bilmiyorsanız Iş Ortağı Merkezi panosundabulabilirsiniz. Iş Ortağı Merkezi menüsünden CSP ' yi ve ardından müşteriler' i seçin. Müşteri listesinden müşteriyi seçin ve ardından Hesap' ı seçin. Müşterinin hesap sayfasında, müşteri hesabı bilgileri bölümünde Microsoft kimliği ' ni arayın. Microsoft KIMLIĞI, müşteri KIMLIĞI () ile aynıdır customer-tenant-id .

  • Bir müşteri, tıp tümleştirme korumalı alanından silinmeden önce tüm Azure ayrılmış sanal makine örneklerinin ve yazılım satın alma siparişlerinin iptal edilmesi gerekir.

C#

Bir müşteriyi tıp tümleştirme korumalı alanından silmek için:

  1. İş ortağı işlemlerine bir ıpartner arabirimi almak için tıp hesabı kimlik bilgilerinizi createpartneroperations metoduna geçirin.

  2. Yetkilendirmeler koleksiyonunu almak için iş ortağı işlemler arabirimini kullanın:

    1. Müşteriyi belirtmek için müşteri tanımlayıcısı ile Customers. byıd () yöntemini çağırın.

    2. Yetkilendirmeler özelliğini çağırın.

    3. Yetkilendirme koleksiyonunu almak için Get veya GetAsync metodunu çağırın.

  3. Söz konusu müşteriye ait tüm Azure ayrılmış sanal makine örneklerinin ve yazılım satın alma siparişlerinin iptal edildiğinden emin olun. Koleksiyondaki her Yetkilendirme için:

    1. Müşterinin sipariş koleksiyonundan ilgili siparişin yerel bir kopyasını almak için Entitlement.ReferenceOrder.ID kullanın.

    2. Order. Status özelliğini "iptal edildi" olarak ayarlayın.

    3. Sıralamayı güncelleştirmek için Patch () metodunu kullanın.

  4. Tüm siparişleri iptal et. Örneğin, aşağıdaki kod örneği, durumu "Iptal edildi" olana kadar her sırayı yoklamak için bir döngü kullanır.

    // 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. Müşterinin silme yöntemini çağırarak tüm siparişlerin iptal edildiğinden emin olun.

Örnek: konsol test uygulaması. Project: iş ortağı merkezi partnercentersdk. featuressamples sınıfı: deletecustomerfromtıpaccount. cs

REST isteği

İstek sözdizimi

Yöntem İstek URI'si
DELETE {BaseUrl}/v1/Customers/{Customer-Tenant-ID} http/1.1

URI parametresi

Bir müşteriyi silmek için aşağıdaki sorgu parametresini kullanın.

Ad Tür Gerekli Açıklama
Müşteri-Kiracı kimliği GUID Y Değer, satıcının satıcıya ait olan belirli bir müşteriye ait sonuçları filtrelemesine olanak tanıyan bir GUID biçimli Müşteri-Kiracı kimliği ' dir.

İstek üst bilgileri

Daha fazla bilgi için bkz. Iş ortağı MERKEZI Rest üstbilgileri.

İstek gövdesi

Yok.

İstek örneği

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 yanıtı

Başarılı olursa, bu yöntem boş bir yanıt döndürür.

Yanıt başarısı ve hata kodları

Her yanıt başarı veya başarısızlık ve ek hata ayıklama bilgilerini gösteren bir HTTP durum kodu ile gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. Iş ortağı MERKEZI Rest hata kodları.

Yanıt örneği

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