Partnerközpont-tevékenység rekordjának lekérése
A következőre vonatkozik: Partnerközpont | Partnerközpont a Microsoft Cloud for US Government számára
Ez a cikk bemutatja, hogyan kérhető le egy partnerfelhasználó vagy alkalmazás által egy adott időszakban végrehajtott műveletek rekordja.
Ezzel az API-val lekérheti az előző 30 nap naplórekordjait az aktuális dátumtól, vagy a kezdő dátum és/vagy a záró dátummal megadott dátumtartományhoz. Vegye figyelembe azonban, hogy teljesítménybeli okokból a tevékenységnapló adatainak rendelkezésre állása az előző 90 napra korlátozódik. Az aktuális dátum előtt 90 napnál régebbi kezdő dátummal rendelkező kérelmek hibás kéréskivételt (hibakód: 400) kapnak, és egy megfelelő üzenetet kapnak.
Előfeltételek
- Hitelesítő adatok a Partnerközpont hitelesítésében leírtak szerint. Ez a forgatókönyv támogatja az önálló alkalmazással és az App+Felhasználói hitelesítő adatokkal való hitelesítést is.
C#
A Partnerközpont műveleteinek rekordjának lekéréséhez először hozza létre a lekérni kívánt rekordok dátumtartományát. Az alábbi példakód csak kezdő dátumot használ, de záró dátumot is megadhat. További információkért lásd a Lekérdezés metódust. Ezután hozza létre az alkalmazni kívánt szűrőtípushoz szükséges változókat, és rendelje hozzá a megfelelő értékeket. Ha például a vállalatnév-részstring alapján szeretne szűrni, hozzon létre egy változót az alstring tárolásához. Az ügyfélazonosító alapján történő szűréshez hozzon létre egy változót az azonosító tárolásához.
Az alábbi példában mintakódot ad meg a rendszer a vállalatnév-részszűrés, az ügyfélazonosító vagy az erőforrástípus alapján történő szűréshez. Válasszon egyet, és tegye megjegyzésbe a többit. Minden esetben először példányosít egy SimpleFieldFilter objektumot az alapértelmezett konstruktor használatával a szűrő létrehozásához. Az ábrán látható módon át kell adnia egy sztringet, amely tartalmazza a keresendő mezőt és a megfelelő operátort. Meg kell adnia a szűréshez szükséges sztringet is.
Ezután az AuditRecords tulajdonság használatával lekérhet egy felületet a rekordműveletek naplózásához, és meghívhatja a Lekérdezés vagy a QueryAsync metódust a szűrő végrehajtásához, és lekérheti az Eredmény első oldalát képviselő AuditRecord-gyűjteményt. Adja meg a metódusnak az itt látható példában nem használt kezdő dátumot, opcionális befejezési dátumot, valamint egy olyan IQuery-objektumot , amely egy entitás lekérdezését jelöli. Az IQuery objektum úgy jön létre, hogy átadja a fent létrehozott szűrőt a QueryFactory BuildSimpleQuery metódusának.
Ha már rendelkezik az elemek kezdeti oldalával, használja az Enumerators.AuditRecords.Create metódust egy enumerátor létrehozásához, amellyel iterálhat a többi oldalon.
// IAggregatePartner partnerOperations;
var startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 01);
// First perform the query, then get the enumerator. Choose one of the following and comment out the other two.
// To retrieve audit records by company name substring (for example "bri" matches "Fabrikam, Inc.").
var searchSubstring="bri";
var filter = new SimpleFieldFilter(AuditRecordSearchField.CompanyName.ToString(), FieldFilterOperation.Substring, searchSubstring);
var auditRecordsPage = partnerOperations.AuditRecords.Query(startDate.Date, query: QueryFactory.Instance.BuildSimpleQuery(filter));
// To retrieve audit records by customer ID.
var customerId="0c39d6d5-c70d-4c55-bc02-f620844f3fd1";
var filter = new SimpleFieldFilter(AuditRecordSearchField.CustomerId.ToString(), FieldFilterOperation.Equals, customerId);
var auditRecordsPage = partnerOperations.AuditRecords.Query(startDate.Date, query: QueryFactory.Instance.BuildSimpleQuery(filter));
// To retrieve audit records by resource type.
int resourceTypeInt = 3; // Subscription Resource.
string searchField = Enum.GetName(typeof(ResourceType), resourceTypeInt);
var filter = new SimpleFieldFilter(AuditRecordSearchField.ResourceType.ToString(), FieldFilterOperation.Equals, searchField);
var auditRecordsPage = partnerOperations.AuditRecords.Query(startDate.Date, query: QueryFactory.Instance.BuildSimpleQuery(filter));
var auditRecordEnumerator = partnerOperations.Enumerators.AuditRecords.Create(auditRecordsPage);
int pageNumber = 1;
while (auditRecordEnumerator.HasValue)
{
// Work with the current page.
foreach (var c in auditRecordEnumerator.Current.Items)
{
// Display some info, such as operation type, operation date, and operation status.
Console.WriteLine(string.Format("{0} {1} {2}.", c.OperationType, c.OperationDate, c.OperationStatus));
}
// Get the next page of audit records.
auditRecordEnumerator.Next();
}
Példa: Konzoltesztelő alkalmazás. Projekt: Partnerközpont SDK-minták mappa: Naplózás
REST-kérés
Kérés szintaxisa
Metódus | Kérés URI-ja |
---|---|
GET | {baseURL}/v1/auditrecords?startDate={startDate} HTTP/1.1 |
GET | {baseURL}/v1/auditrecords?startDate={startDate}&endDate={endDate} HTTP/1.1 |
GET | {baseURL}/v1/auditrecords?startDate={startDate}&endDate={endDate}&filter={"Field":"CompanyName","Value":"{searchSubstring}","Operator":"substring"} HTTP/1.1 |
GET | {baseURL}/v1/auditrecords?startDate={startDate}&endDate={endDate}&filter={"Field":"CustomerId","Value":"{customerId}","Operator":"equals"} HTTP/1.1 |
GET | {baseURL}/v1/auditrecords?startDate={startDate}&endDate={endDate}&filter={"Field":"ResourceType","Value":"{resourceType}","Operator":"equals"} HTTP/1.1 |
URI-paraméter
A kérés létrehozásakor használja az alábbi lekérdezési paramétereket.
Name | Type | Kötelező | Leírás |
---|---|---|---|
startDate | dátum: | Nem | A kezdő dátum yyyy-mm-dd formátumban. Ha nincs megadva, az eredményhalmaz alapértelmezés szerint 30 nappal a kérelem dátuma előtt lesz. Ez a paraméter nem kötelező, ha szűrőt ad meg. |
endDate | dátum: | Nem | A befejezési dátum yyyy-mm-dd formátumban. Ez a paraméter nem kötelező, ha szűrőt ad meg. Ha a záró dátum ki van hagyva vagy null értékűre van állítva, a kérelem a maximális ablakot adja vissza, vagy a mai napot használja záró dátumként, attól függően, hogy melyik a kisebb. |
szűrő | karakterlánc | Nem | Az alkalmazni kívánt szűrő. Ennek a paraméternek kódolt sztringnek kell lennie. Ez a paraméter nem kötelező, ha a kezdő vagy a záró dátum meg van adva. |
Szűrőszintaxis
A szűrőparamétert vesszővel elválasztott, kulcs-érték párok sorozataként kell összeállítania. Minden kulcsot és értéket külön-külön kell idézni, és kettősponttal kell elválasztani. A teljes szűrőt kódolni kell.
Egy kódolatlan példa a következőképpen néz ki:
?filter{"Field":"CompanyName","Value":"bri","Operator":"substring"}
Az alábbi táblázat a szükséges kulcs-érték párokat ismerteti:
Kulcs | Érték |
---|---|
Mező | A szűrni kívánt mező. A támogatott értékek a Kérés szintaxisában találhatók. |
Érték | A szűrendő érték. Az érték esetét a rendszer figyelmen kívül hagyja. A következő értékparaméterek támogatottak a Kérés szintaxisában látható módon: searchSubstring – Cserélje le a vállalat nevére. Beírhat egy részszúrást, amely megfelel a vállalat nevének egy részének (például bri egyezni Fabrikam, Inc fog).Példa "Value":"bri" customerId – Cserélje le egy GUID formátumú sztringre, amely az ügyfélazonosítót jelöli. Példa "Value":"0c39d6d5-c70d-4c55-bc02-f620844f3fd1" resourceType – Cserélje le azt az erőforrástípust, amelyhez naplórekordokat szeretne lekérni (például Előfizetés). Az elérhető erőforrástípusok a ResourceType-ban vannak definiálva. Példa "Value":"Subscription" |
Operator | Az alkalmazandó operátor. A támogatott operátorok a Kérés szintaxisában találhatók. |
Kérésfejlécek
- További információ: Parter Center REST fejlécek.
Kérés törzse
Nincs.
Példa kérése
GET https://api.partnercenter.microsoft.com/v1/auditrecords?startDate=6/1/2017%2012:00:00%20AM&filter=%7B%22Field%22:%22CustomerId%22,%22Value%22:%220c39d6d5-c70d-4c55-bc02-f620844f3fd1%22,%22Operator%22:%22equals%22%7D HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 127facaa-e389-41f8-8bb7-1d1af99db893
MS-CorrelationId: de9c2ccc-40dd-4186-9660-65b9b64c3d14
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Connection: Keep-Alive
REST-válasz
Ha ez a módszer sikeres, a szűrőknek megfelelő tevékenységeket ad vissza.
Válasz sikeresség és hibakódok
Minden válaszhoz tartozik egy HTTP-állapotkód, amely jelzi a sikert vagy a hibát, valamint további hibakeresési információkat. A kód, a hibatípus és a további paraméterek olvasásához használjon hálózati nyomkövetési eszközt. A teljes listát a Partnerközpont REST-hibakódjaiban találja.
Példa válaszra
HTTP/1.1 200 OK
Content-Length: 2859
Content-Type: application/json; charset=utf-8
MS-CorrelationId: de9c2ccc-40dd-4186-9660-65b9b64c3d14
MS-RequestId: 127facaa-e389-41f8-8bb7-1d1af99db893
MS-CV: 4xDKynq/zE2im0wj.0
MS-ServerId: 030011719
Date: Tue, 27 Jun 2017 22:19:46 GMT
{
"totalCount": 2,
"items": [{
"partnerId": "3b33e682-00c3-41ee-9dd2-a548adf56438",
"customerId": "0c39d6d5-c70d-4c55-bc02-f620844f3fd1",
"customerName": "Relecloud",
"userPrincipalName": "admin@domain.onmicrosoft.com",
"resourceType": "order",
"resourceNewValue": "{\"Id\":\"d51a052e-043c-4a2a-aa37-2bb938cef6c1\",\"ReferenceCustomerId\":\"0c39d6d5-c70d-4c55-bc02-f620844f3fd1\",\"BillingCycle\":\"none\",\"LineItems\":[{\"LineItemNumber\":0,\"OfferId\":\"C0BD2E08-11AC-4836-BDC7-3712E744922F\",\"SubscriptionId\":\"488745B5-2086-4912-802C-6ABB9F7C3638\",\"ParentSubscriptionId\":null,\"FriendlyName\":\"Office 365 Business Premium Trial\",\"Quantity\":25,\"PartnerIdOnRecord\":null,\"Links\":{\"Subscription\":{\"Uri\":\"/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/488745B5-2086-4912-802C-6ABB9F7C3638\",\"Method\":\"GET\",\"Headers\":[]}}}],\"CreationDate\":\"2017-06-15T15:56:04.077-07:00\",\"Links\":{\"Self\":{\"Uri\":\"/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/orders/d51a052e-043c-4a2a-aa37-2bb938cef6c1\",\"Method\":\"GET\",\"Headers\":[]}},\"Attributes\":{\"Etag\":\"eyJpZCI6ImQ1MWEwNTJlLTA0M2MtNGEyYS1hYTM3LTJiYjkzOGNlZjZjMSIsInZlcnNpb24iOjF9\",\"ObjectType\":\"Order\"}}",
"operationType": "create_order",
"operationDate": "2017-06-15T22:56:05.0589308Z",
"operationStatus": "succeeded",
"customizedData": [{
"key": "OrderId",
"value": "d51a052e-043c-4a2a-aa37-2bb938cef6c1"
}, {
"key": "BillingCycle",
"value": "None"
}, {
"key": "OfferId-0",
"value": "C0BD2E08-11AC-4836-BDC7-3712E744922F"
}, {
"key": "SubscriptionId-0",
"value": "488745B5-2086-4912-802C-6ABB9F7C3638"
}, {
"key": "SubscriptionName-0",
"value": "Office 365 Business Premium Trial"
}, {
"key": "Quantity-0",
"value": "25"
}, {
"key": "PartnerOnRecord-0",
"value": null
}
],
"attributes": {
"objectType": "AuditRecord"
}
}, {
"partnerId": "3b33e682-00c3-41ee-9dd2-a548adf56438",
"customerId": "0c39d6d5-c70d-4c55-bc02-f620844f3fd1",
"customerName": "Relecloud",
"userPrincipalName": "admin@domain.onmicrosoft.com",
"applicationId": "Partner Center Native App",
"resourceType": "license",
"resourceNewValue": "{\"LicensesToAssign\":[{\"ExcludedPlans\":null,\"SkuId\":\"efccb6f7-5641-4e0e-bd10-b4976e1bf68e\"}],\"LicensesToRemove\":null,\"LicenseWarnings\":[],\"Attributes\":{\"ObjectType\":\"LicenseUpdate\"}}",
"operationType": "update_customer_user_licenses",
"operationDate": "2017-06-01T20:09:07.0450483Z",
"operationStatus": "succeeded",
"customizedData": [{
"key": "CustomerUserId",
"value": "482e2152-4b49-48ec-b715-823365ce3d4c"
}, {
"key": "AddedLicenseSkuId",
"value": "efccb6f7-5641-4e0e-bd10-b4976e1bf68e"
}
],
"attributes": {
"objectType": "AuditRecord"
}
}
],
"links": {
"self": {
"uri": "/auditrecords?startDate=2017-06-01&size=500&filter=%7B%22Field%22%3A%22CustomerId%22%2C%22Value%22%3A%220c39d6d5-c70d-4c55-bc02-f620844f3fd1%22%2C%22Operator%22%3A%22equals%22%7D",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: