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

Şunlar için geçerlidir: İş Ortağı Merkezi | 21Vianet tarafından işletilen İş Ortağı Merkezi | Microsoft Cloud for US Government için İş Ortağı Merkezi

Bu makalede, iş ortağı ile müşteri hesabı arasındaki ilişkiyi kesme ve Üretimde Test Etme (İpucu) tümleştirme korumalı alanı kotasını yeniden kazanma 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

  • İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de App+User kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Müşteri kimliği (customer-tenant-id). Müşterinin kimliğini bilmiyorsanız, İş Ortağı Merkezi'ndeMüşteriler çalışma alanını, müşteri listesinden müşteriyi ve ardından Hesap'ı seçerek iş ortağınızı arayabilirsiniz. Müşterinin Hesap sayfasında, Müşteri Hesabı Bilgileri bölümünde Microsoft Kimliğini bulun. Microsoft kimliği, müşteri kimliğiyle (customer-tenant-id ile aynıdır).

  • İpucu tümleştirme korumalı alanından bir müşteri silinmeden önce tüm Azure Ayrılmış Sanal Makine Örnekleri ve yazılım satın alma siparişleri iptal edilmelidir.

C#

bir müşteriyi İpucu tümleştirme korumalı alanından silmek için:

  1. İş ortağı işlemlerine bir IPartner arabirimi almak için İpucu hesabı kimlik bilgilerinizi CreatePartnerOperations yöntemine geçirin.

  2. Yetkilendirme koleksiyonunu almak için iş ortağı işlemleri arabirimini kullanın:

    1. Müşteriyi belirtmek için Customer.ById() yöntemini müşteri tanımlayıcısıyla çağırın.

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

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

  3. Bu müşteri için tüm Azure Ayrılmış Sanal Makine Örneklerinin ve yazılım satın alma siparişlerinin iptal edildiklerinden 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 "İptal Edildi" olarak ayarlayın.

    3. Siparişi güncelleştirmek için Patch() yöntemini kullanın.

  4. Tüm siparişleri iptal edin. Örneğin, aşağıdaki kod örneği durumu "İptal Edildi" olana kadar her siparişi 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üşteri için Delete yöntemini çağırarak tüm siparişlerin iptal olduğundan emin olun.

Örnek: Konsol test uygulaması. Proje: İş Ortağı Merkezi PartnerCenterSDK.FeaturesSamples Sınıfı: DeleteCustomerFromTipAccount.cs

REST isteği

İstek söz dizimi

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
customer-tenant-id GUID Y Değer, kurumsal bayinin bayiye ait belirli bir müşteri için sonuçları filtrelemesine olanak tanıyan GUID biçimli müşteri kiracı kimliğidir .

İstek üst bilgileri

Daha fazla bilgi için bkz. İş Ortağı Merkezi REST üst bilgileri.

İ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: aaaa0000-bb11-2222-33cc-444444dddddd
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ılı veya başarısız olduğunu ve ek hata ayıklama bilgilerini gösteren bir HTTP durum koduyla birlikte gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. İş Ortağı Merkezi REST hata kodları.

Yanıt örneği

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