Entfernen der Partnerschaft zwischen einem Händler und einem Kunden
Gilt für: Partner Center | Partner Center-Betrieb durch 21Vianet | Partner Center für Microsoft Cloud for US Government
Entfernen Sie eine Händlerbeziehung mit einem Kunden, mit dem Sie keine Transaktionen mehr haben.
Voraussetzungen
Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. In diesem Szenario wird Authentifizierung nur mit App- und Benutzeranmeldeinformationen unterstützt.
Eine Kunden-ID (
customer-tenant-id
). Wenn Sie die ID des Kunden nicht kennen, können Sie sie im Partner Center nachschlagen. Wählen Sie auf der Partner Center-Startseite den Arbeitsbereich "Kunden " aus. Wählen Sie den Kunden aus der Kundenliste aus, und wählen Sie dann "Konto" aus. Suchen Sie auf der Kontoseite des Kunden im Abschnitt "Kundenkontodetails" nach der Microsoft-ID. Die Microsoft-ID entspricht der Kunden-ID (customer-tenant-id
).Alle Azure Reserved VM Instance Orders müssen abgebrochen werden, bevor eine Händlerbeziehung entfernt wird. Rufen Sie Azure-Support auf, um alle geöffneten Azure Reserved VM Instance Orders abzubrechen.
C#
Um die Händlerbeziehung für einen Kunden zu entfernen, stellen Sie zunächst sicher, dass alle aktiven azure Reserved VM Instances für diesen Kunden storniert werden. Stellen Sie als Nächstes sicher, dass alle aktiven Abonnements für diesen Kunden ausgesetzt sind. Ermitteln Sie dazu die ID des Kunden, für den Sie die Händlerbeziehung löschen möchten. Im folgenden Codebeispiel wird der Benutzer aufgefordert, den Kundenbezeichner anzugeben.
Um festzustellen, ob azure Reserved VM Instances für den Kunden abgebrochen werden müssen, rufen Sie die Sammlung von Berechtigungen ab, indem Sie die Methode "IAggregatePartner.Customers.ById" mithilfe der Kunden-ID aufrufen, um den Kunden anzugeben, und die Berechtigungseigenschaft zum Abrufen einer Schnittstelle zu Berechtigungssammlungsvorgängen. Rufen Sie die Get- oder GetAsync-Methode auf, um die Berechtigungsauflistung abzurufen. Filtern Sie die Sammlung nach berechtigungen mit einem Berechtigungstypwert von "EntitlementType.VirtualMachineReservedInstance ", und wenn vorhanden, brechen Sie sie ab, indem Sie den Support aufrufen, bevor Sie fortfahren.
Rufen Sie dann eine Sammlung der Abonnements des Kunden ab, indem Sie die IAggregatePartner.Customers.ById-Methode mithilfe der Kunden-ID aufrufen, um den Kunden anzugeben, und die Subscriptions-Eigenschaft zum Abrufen einer Schnittstelle zu Abonnementsammlungsvorgängen. Rufen Sie schließlich die Get - oder GetAsync-Methode auf, um die Abonnementssammlung des Kunden abzurufen. Durchlaufen Sie die Abonnementauflistung, und stellen Sie sicher, dass keines der Abonnements über einen Subscription.Status-Eigenschaftswert von SubscriptionStatus.Active verfügt. Wenn ein Abonnement noch aktiv ist, finden Sie informationen zum Anhalten eines Abonnements .
Nachdem Sie bestätigt haben, dass alle aktiven Azure Reserved VM Instances für diesen Kunden storniert werden und alle aktiven Abonnements ausgesetzt sind, können Sie die Vertriebspartnerbeziehung für den Kunden entfernen. Erstellen Sie zunächst ein neues Customer-Objekt mit der relationshiptopartner-Eigenschaft, die auf CustomerPartnerRelationship.None festgelegt ist. Rufen Sie dann die IAggregatePartner.Customers.ById-Methode mithilfe der Kunden-ID auf, um den Kunden anzugeben, und rufen Sie die Patch-Methode auf, und übergeben Sie das neue Kundenobjekt.
Wenn Sie die Beziehung erneut einrichten möchten, wiederholen Sie den Prozess der Anforderung einer Händlerbeziehung.
// IAggregatePartner partnerOperations;
// Prompt the user the enter the customer ID.
var customerIdToDeleteRelationshipOf = this.Context.ConsoleHelper.ReadNonEmptyString("Please enter the ID of the customer you want to delete the relationship with", "The customer ID can't be empty");
// Determine if there are any active Azure Reserved VM Instances for this customer.
ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Entitlements.Get();
If (entitlements.Items.Where(x => x.EntitlementType == EntitlementType.VirtualMachineReservedInstance).Any())
{
this.Context.ConsoleHelper.Warning("Please cancel Azure Reserved Virtual Machine Instance orders through support and try again. Aborting the delete customer relationship operation");
return;
}
// Verify that there are no active subscriptions.
ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Subscriptions.Get();
IList<Subscription> subscriptions = new List<Subscription>(customerSubscriptions.Items);
foreach (Subscription customerSubscription in subscriptions)
{
if (customerSubscription.Status == SubscriptionStatus.Active)
{
this.Context.ConsoleHelper.Warning(String.Format("Subscription with ID :{0} OfferName: {1} cannot be in active state, ", customerSubscription.Id, customerSubscription.OfferName));
this.Context.ConsoleHelper.Warning("Please Suspend all the Subscriptions and try again. Aborting the delete customer relationship operation");
return;
}
}
// Delete the customer's relationship to the partner.
Customer customer = new Customer();
customer.RelationshipToPartner = CustomerPartnerRelationship.None;
customer = partnerOperations.Customers.ById(customerIdToDeleteRelationshipOf).Patch(customer);
if (customer.RelationshipToPartner == CustomerPartnerRelationship.None)
{
this.Context.ConsoleHelper.Success("Customer Partner Relationship successfully deleted");
}
Beispiel: Konsolentest-App. Projekt: PartnerSDK.FeatureSample-Klasse: DeletePartnerCustomerRelationship.cs
REST-Anforderung
Anforderungssyntax
Methode | Anforderungs-URI |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/ HTTP/1.1 |
URI-Parameter
In dieser Tabelle sind die erforderlichen Abfrageparameter aufgeführt, um eine Händlerbeziehung zu entfernen.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
customer-tenant-id | guid | J | Der Wert ist eine guid formatierte Kundenmandanten-ID , die den Kunden identifiziert. |
Anforderungsheader
Weitere Informationen finden Sie unter Partner Center-REST-Header.
Anforderungstext
Eine Kundenressource ist im Anforderungstext erforderlich. Stellen Sie sicher, dass die RelationshipToPartner-Eigenschaft auf "none" festgelegt wurde.
Anforderungsbeispiel
PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id> HTTP/1.1
Authorization: Bearer <token>
Content-Length: 74
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 9fef8b23-6e3e-45d2-8678-e9fe89c35af5
Date: Fri, 12 Jan 2018 00:31:55 GMT
{
"relationshipToPartner":"none",
"attributes":{
"objectType":"Customer"
}
}
REST-Antwort
Wenn die Methode erfolgreich verläuft, wird eine Händlerbeziehung für den angegebenen Kunden entfernt.
Erfolgs- und Fehlercodes der Antwort
Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-REST-Fehlercodes.
Beispielantwort
HTTP/1.1 200 OK
MS-RequestId: 7988dde4-b516-472c-b226-6d53fb18f04e
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Content-Length: 242
Expect: 100-continue
{
"Id":null,
"CommerceId":null,
"CompanyProfile":null,
"BillingProfile":null,
"RelationshipToPartner":"none",
"AllowDelegatedAccess":null,
"UserCredentials":null,
"CustomDomains":null,
"AssociatedPartnerId":null,
"Attributes":{
"ObjectType":"Customer"
}
}