Uzyskaj kolekcję uprawnień
Jak uzyskać kolekcję uprawnień.
Warunki wstępne
Poświadczenia, jak opisano w uwierzytelnianie Centrum partnerskiego. Ten scenariusz obsługuje uwierzytelnianie przy użyciu poświadczeń aplikacji i użytkownika.
Identyfikator klienta (
customer-tenant-id
). Jeśli nie znasz identyfikatora klienta, możesz wyszukać go w centrum partnerskim , wybierając obszar roboczy Klienci, a następnie klient z listy klientów, a następnie konto. Na stronie Konto klienta poszukaj Microsoft ID w sekcji Informacje o koncie klienta. Identyfikator Firmy Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id
).
C#
Aby uzyskać kolekcję uprawnień dla klienta, uzyskaj interfejs umożliwiający operacje Upoważnienia przez wywołanie metody IAggregatePartner.Customers.ById() przy użyciu identyfikatora klienta w celu zidentyfikowania klienta. Następnie pobierz interfejs z właściwości Entitlements i wywołaj metodę Get() lub GetAsync() w celu pobrania kolekcji uprawnień.
IAggregatePartner partnerOperations;
string customerId;
// Get the collection of entitlements.
var entitlements = partnerOperations.Customers.ById(customerId).Entitlements.Get();
Aby przypisać daty wygaśnięcia do uprawnień, które mają zostać pobrane, wywołaj te same metody, co powyżej, i ustaw opcjonalny parametr logiczny showExpiry na true, używając Get(true) lub GetAsync(true). Oznacza to, że daty wygaśnięcia uprawnień są wymagane (jeśli ma to zastosowanie).
Ważny
Typy uprawnień lokalnych nie mają dat wygaśnięcia.
Żądanie REST
Składnia żądania
Metoda | Identyfikator URI żądania |
---|---|
GET | {baseURL}/v1/customers/{customerId}/entitlements HTTP/1.1 |
Parametry identyfikatora URI
Podczas tworzenia żądania użyj następującej ścieżki i parametrów zapytania.
Nazwa | Typ | Wymagane | Opis |
---|---|---|---|
customerId | struna | Tak | Identyfikator customerId sformatowany jako GUID, identyfikujący klienta. |
typ uprawnienia | struna | Nie | Można użyć do określenia typu uprawnień do pobrania (oprogramowania lub reservedInstance ). Jeśli nie zostaną ustawione, wszystkie typy zostaną pobrane |
showExpiry | logiczny | Nie | Opcjonalna flaga wskazująca, czy wymagane są daty wygaśnięcia uprawnień. |
Nagłówki żądań
Aby uzyskać więcej informacji, zapoznaj się z Nagłówkami Centrum Partnerskiego REST.
Treść żądania
Żaden.
Przykład żądania
GET https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/entitlements HTTP/1.1
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Odpowiedź REST
W przypadku powodzenia treść odpowiedzi zawiera kolekcję zasobów Upoważnienie.
Kody sukcesu i błędów odpowiedzi
Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i inne informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i inne parametry. Aby uzyskać pełną listę, zobacz Kody błędów.
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 103778
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
X-Locale: en-US
MS-CV: EjFdw8fCpkKyMyza.0
MS-ServerId: 000002
Date: Mon, 19 Mar 2018 07:42:51 GMT
{
"totalCount": 2,
"items": [
{
"includedEntitlements": [],
"referenceOrder": {
"id": "KaJ8XvkKc_GoNZOUyjVaRJalTBN5MWdV1",
"lineItemId": "0"
},
"productId": "DZH318Z0BQ3W",
"quantity": 1,
"entitledArtifacts": [
{
"link": {
"uri": "/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/artifacts/reservedinstance/groups/2caf524395724e638ef64e109f1f79ca/lineitems/03500b1b-f2d6-4e23-ab4b-9fd67b917012/resource/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"method": "GET",
"headers": []
},
"resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"artifactType": "reservedinstance"
}
],
"skuId": "007J",
"entitlementType": "reservedinstance"
"dynamicAttributes": {
"reservationType": "virtualmachines"
}
},
{
"includedEntitlements": [
{
"includedEntitlements": [],
"referenceOrder": {
"id": "NUXMSvmS20EQ4kFsZmzkSqb747fqKmNk1",
"lineItemId": "0"
},
"productId": "DG7GMGF0DWTJ",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0001",
"entitlementType": "software"
},
{
"includedEntitlements": [],
"referenceOrder": {
"id": "NUXMSvmS20EQ4kFsZmzkSqb747fqKmNk1",
"lineItemId": "0"
},
"productId": "DG7GMGF0DWLG",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0002",
"entitlementType": "software"
}
],
"referenceOrder": {
"id": "NUXMSvmS20EQ4kFsZmzkSqb747fqKmNk1",
"lineItemId": "0"
},
"productId": "DG7GMGF0DWTK",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0002",
"entitlementType": "software"
}
],
"attributes": {
"objectType": "Collection"
}
}
Więcej przykładów
W poniższym przykładzie pokazano, jak pobrać określony typ uprawnień wraz z datami wygaśnięcia (jeśli dotyczy)
Przykład w języku C#
Aby pobrać określony typ uprawnień, uzyskaj interfejs ByEntitlementType z interfejsu Entitlements i użyj metod Get() lub GetAsync().
ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(selectedCustomerId).Entitlements.ByEntitlementType("software").Get(true);
Przykład żądania
GET https://api.partnercenter.microsoft.com/v1/customers/de3dcef9-9991-459c-ac71-2903d1127414/entitlements?entitlementtype=software&showExpiry=true
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: 6517a410-67ce-4995-9bb7-116a52179f92
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 1791
Content-Type: application/json; charset=utf-8
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: 6517a410-67ce-4995-9bb7-116a52179f92
X-Locale: en-US
MS-CV: yD+4LBKePUSp/vqJ.0
MS-ServerId: 000002
Date: Mon, 28 Jan 2019 18:31:43 GMT
{
"totalCount": 2,
"items": [
{
"includedEntitlements": [
{
"includedEntitlements": [],
"referenceOrder": {
"id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
"lineItemId": "0",
"alternateId": "8f3af3dea1ea"
},
"productId": "DG7GMGF0DWM2",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0001",
"entitlementType": "software"
},
{
"includedEntitlements": [],
"referenceOrder": {
"id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
"lineItemId": "0",
"alternateId": "8f3af3dea1ea"
},
"productId": "DG7GMGF0DWMK",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0001",
"entitlementType": "software"
}
],
"referenceOrder": {
"id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
"lineItemId": "0",
"alternateId": "8f3af3dea1ea"
},
"productId": "DG7GMGF0DWM3",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0002",
"entitlementType": "software"
},
{
"includedEntitlements": [
{
"includedEntitlements": [],
"referenceOrder": {
"id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
"lineItemId": "1",
"alternateId": "8f3af3dea1ea"
},
"productId": "DG7GMGF0DWV1",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0002",
"entitlementType": "software"
},
{
"includedEntitlements": [],
"referenceOrder": {
"id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
"lineItemId": "1",
"alternateId": "8f3af3dea1ea"
},
"productId": "DG7GMGF0DWV2",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0002",
"entitlementType": "software"
}
],
"referenceOrder": {
"id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
"lineItemId": "1",
"alternateId": "8f3af3dea1ea"
},
"productId": "DG7GMGF0DWBQ",
"quantity": 1,
"entitledArtifacts": [],
"skuId": "0003",
"entitlementType": "software",
"expiryDate": "2022-01-28T00:00:00Z"
}
],
"attributes": {
"objectType": "Collection"
}
}
W poniższych przykładach pokazano, jak pobrać informacje o produktach i rezerwacjach z uprawnienia.
Pobieranie szczegółów rezerwacji maszyny wirtualnej z uprawnienia przy użyciu zestawu SDK w wersji 1.8
Przykład w języku C#
Aby pobrać więcej szczegółów związanych z rezerwacjami maszyny wirtualnej z uprawnienia, wywołaj identyfikator URI uwidoczniony w entitledArtifacts.link z elementem artifactType = virtual_machine_reserved_instance.
ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(selectedCustomerId).Entitlements.ByEntitlementType("VirtualMachineReservedInstance").Get();
((VirtualMachineReservedInstanceArtifact)entitlements.First().EntitledArtifacts.First(x => x.Type == ArtifactType.VirtualMachineReservedInstance)).Link.InvokeAsync<VirtualMachineReservedInstanceArtifactDetails>(partnerOperations)
Przykład żądania
GET https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/artifacts/virtualmachinereservedinstance/groups/2caf524395724e638ef64e109f1f79ca/lineitems/03500b1b-f2d6-4e23-ab4b-9fd67b917012/resource/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 HTTP/1.1
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 368
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
X-Locale: en-US
MS-CV: yrdTGsZ7IU2v9okv.0
MS-ServerId: 000002
Date: Mon, 19 Mar 2018 07:45:14 GMT
{
"type": "virtual_machine_reserved_instance",
"virtualMachineReservations": [
{
"reservationId": "99f320db-c029-4c1b-a157-dad76e4481b6",
"scopeType": "Shared",
"quantity": 1,
"expiryDateTime": "2019-02-23T00:00:00",
"effectiveDateTime": "2018-02-23T18:15:24.6724884Z",
"provisioningState": "Created"
}
]
}
Pobieranie szczegółów rezerwacji z uprawnienia przy użyciu zestawu SDK w wersji 1.9
Przykład w języku C#
Aby pobrać więcej szczegółów związanych z rezerwacjami z uprawnienia wystąpienia zarezerwowanego, wywołaj identyfikator URI uwidoczniony w entitledArtifacts.link
za pomocą artifactType = reservedinstance
.
ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(selectedCustomerId).Entitlements.ByEntitlementType("ReservedInstance").Get();
((ReservedInstanceArtifact)entitlements.First().EntitledArtifacts.First(x => x.Type == ArtifactType.ReservedInstance)).Link.InvokeAsync<ReservedInstanceArtifactDetails>(partnerOperations);
Przykład żądania
GET https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/artifacts/reservedinstance/groups/2caf524395724e638ef64e109f1f79ca/lineitems/03500b1b-f2d6-4e23-ab4b-9fd67b917012/resource/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 HTTP/1.1
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Przykład odpowiedzi
HTTP/1.1 200 OK
Content-Length: 368
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
X-Locale: en-US
MS-CV: yrdTGsZ7IU2v9okv.0
MS-ServerId: 000002
Date: Mon, 19 Mar 2018 07:45:14 GMT
{
"type": "reservedinstance",
"virtualMachineReservations": [
{
"reservationId": "99f320db-c029-4c1b-a157-dad76e4481b6",
"scopeType": "Shared",
"quantity": 1,
"expiryDateTime": "2019-02-23T00:00:00",
"effectiveDateTime": "2018-02-23T18:15:24.6724884Z",
"provisioningState": "Created"
}
]
}
Użytkownicy interfejsu API
Partnerzy, którzy używają interfejsu API do wykonywania zapytań dotyczących uprawnień wystąpienia zarezerwowanego maszyny wirtualnej — zaktualizuj identyfikator URI żądania z /customers/{customerId}/uprawnienia do /customers/{customerId}/entitlements?entitlementType=virtualmachinereservedinstance w celu zachowania zgodności z poprzednimi wersjami. Aby korzystać z maszyny wirtualnej lub usługi Azure SQL z rozszerzonym kontraktem, zaktualizuj identyfikator URI żądania na /customers/{customerId}/entitlements?entitlementType=reservedinstance.