Pobieranie kolekcji uprawnień
Jak uzyskać kolekcję uprawnień.
Wymagania wstępne
Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. 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 klienta z listy klienta, a następnie pozycję Konto. Na stronie Konto klienta poszukaj identyfikatora Microsoft w sekcji Informacje o koncie klienta. Identyfikator Microsoft jest taki sam jak identyfikator klienta (customer-tenant-id
).
C#
Aby uzyskać kolekcję uprawnień dla klienta, uzyskaj interfejs operacji Upoważnienia, wywołując metodę IAggregatePartner.Customers.ById() z identyfikatorem klienta w celu zidentyfikowania klienta. Następnie pobierz interfejs z właściwości Entitlements i wywołaj metodę Get() lub GetAsync(), aby pobrać kolekcję uprawnień.
IAggregatePartner partnerOperations;
string customerId;
// Get the collection of entitlements.
var entitlements = partnerOperations.Customers.ById(customerId).Entitlements.Get();
Aby wypełnić daty wygaśnięcia uprawnień do pobrania, wywołaj te same metody powyżej i ustaw opcjonalny parametr logiczny showExpiry na true Get(true ) lub GetAsync(true). Oznacza to, że daty wygaśnięcia uprawnień są wymagane (jeśli ma to zastosowanie).
Ważne
Typy uprawnień lokalnych nie mają dat wygaśnięcia.
Żądanie REST
Składnia żądania
Method | 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.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
customerId | string | Tak | Identyfikator GUID sformatowany customerId identyfikujący klienta. |
entitlementType | string | Nie | Można użyć do określenia typu uprawnień do pobrania (oprogramowanie lub zarezerwowaneInstance ). Jeśli nie zostanie ustawiona, wszystkie typy zostaną pobrane |
showExpiry | boolean | Nie. | Opcjonalna flaga wskazująca, czy wymagane są daty wygaśnięcia uprawnień. |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
Brak.
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 powodzenia 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 obszarze entitledArtifacts.link
za pomocą polecenia 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"
}
]
}
Konsumenci interfejsu API
Partnerzy, którzy używają interfejsu API do wykonywania zapytań dotyczących uprawnień wystąpienia zarezerwowanego maszyny wirtualnej — zaktualizuj identyfikator URI żądania od /customers/{customerId}/upoważnienia do /customers/{customerId}/entitlements?entitlementType=virtualmachinereservedinstance , aby zachować zgodność z poprzednimi wersjami. Aby korzystać z maszyny wirtualnej lub usługi Azure SQL z rozszerzonym kontraktem, zaktualizuj identyfikator URI żądania do /customers/{customerId}/entitlements?entitlementType=reservedinstance.