Удаление учетной записи клиента из песочницы интеграции
Область применения: Центр партнеров | Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud for US Government
В этой статье объясняется, как разорвать отношения между партнером и учетной записью клиента и восстановить квоту для тестирования в песочнице интеграции с рабочей средой (Совет).
Важно!
При удалении учетной записи клиента удаляются все ресурсы, связанные с этим клиентом.
Предварительные условия
Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. В этом сценарии поддерживается проверка подлинности с использованием учетных данных автономного приложения и приложения и пользователя.
Идентификатор клиента (
customer-tenant-id
). Если вы не знаете идентификатор клиента, вы можете найти его в Центре партнеров , выбрав рабочую область Клиенты , а затем клиента в списке клиентов, а затем Учетная запись. На странице учетной записи клиента найдите Идентификатор Майкрософт в разделе Сведения об учетной записи клиента. Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id
).Перед удалением клиента из песочницы интеграции Tip необходимо отменить все зарезервированные экземпляры виртуальных машин Azure и заказы на покупку программного обеспечения.
C#
Чтобы удалить клиента из песочницы интеграции Tip, выполните следующие действия.
Передайте учетные данные учетной записи Tip методу CreatePartnerOperations , чтобы получить интерфейс IPartner для партнерских операций.
Используйте интерфейс партнерских операций для получения коллекции прав:
Вызовите метод Customers.ById() с идентификатором клиента, чтобы указать клиента.
Вызовите свойство "Права ".
Вызовите метод Get или GetAsync , чтобы получить коллекцию Прав .
Убедитесь, что все зарезервированные экземпляры виртуальных машин Azure и заказы на покупку программного обеспечения для этого клиента отменены. Для каждого права в коллекции:
Используйте entitlement.ReferenceOrder.Id , чтобы получить локальную копию соответствующего заказа из коллекции заказов клиента.
Присвойте свойству Order.Status значение "Отменено".
Используйте метод Patch() для обновления заказа.
Отмена всех заказов. Например, в следующем примере кода используется цикл для опроса каждого заказа, пока его состояние не будет "Отменено".
// 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();
Убедитесь, что все заказы отменены, вызвав метод Delete для клиента.
Пример: консольное тестовое приложение. Project: PartnerCenterSDK.FeaturesSamples Class: DeleteCustomerFromTipAccount.cs
Запрос REST
Синтаксис запроса
Метод | Универсальный код ресурса (URI) запроса |
---|---|
DELETE | {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1 |
Параметр универсального кода ресурса (URI)
Используйте следующий параметр запроса, чтобы удалить клиента.
Имя | Тип | Обязательно | Описание |
---|---|---|---|
customer-tenant-id | Код GUID | Да | Значение представляет собой идентификатор GUID в формате customer-tenant-id , который позволяет торговому посреднику фильтровать результаты для конкретного клиента, принадлежащего торговому посреднику. |
Заголовки запроса
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Тело запроса
Нет.
Пример запроса
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
В случае успешного выполнения этот метод возвращает пустой ответ.
Коды успешного выполнения и ошибок в ответе
Каждый ответ сопровождается кодом состояния HTTP, обозначающим успешное или неудачное выполнение, и дополнительными сведениями для отладки. Используйте средство трассировки сети, чтобы просматривать этот код, тип ошибки и дополнительные параметры. Полный список ответов есть в статье Коды ошибок REST в Центре партнеров.
Пример ответа
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