Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Citrix Analytics ODATA API
Übersicht
Die CAS ODATA v4 REST API hilft Ihnen, die aggregierten Daten einfach abzurufen. Derzeit unterstützen wir Benutzer beim Abrufen von Sitzungsdaten aus der CAS-Leistungsdatenquelle.
Dieser Artikel enthält eine Anleitung zur Verwendung der APIs.
API-Spezifikationen
Authentifizierung
Die Implementierung verwendet das Citrix Cloud Bearertoken zur Authentifizierung.
Informationsquellen:
Citrix Cloud-Client-ID und geheimer Schlüssel für den Citrix Cloud-Client
Im Folgenden finden Sie eine Beispielanforderung zum Abrufen des Tokens.
Anforderungsbeispiel:
POST https://api.cloud.com/cctrustoauth2/{customerid}/tokens/clients
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Body: grant_type=client_credentials&client_id={client_id}&client_secret={client_secret}
Antwortbeispiel:
HTTP/1.1 200 OK
Content-Type: application/json
...
{
"token_type": "bearer",
"access_token": "ey1..",
"expires_in": "3600"
}
Hinweis:
Die Ablaufzeit des Bearertokens beträgt 1 Stunde. Generieren Sie es erneut, wenn Sie die Anforderung nach einer Stunde durchführen müssen.
Endpunkte
Weltweit: https://api.cloud.com/casodata
Musterbeispiel:
https://api.cloud.com/casodata/sessions?year=2023&month=04&day=14
ruft die aggregierten Sitzungsdaten für das Datum 2023/04/14 (UTC) ab.
Servicepfad
Dieser Abschnitt enthält Informationen zu Dienstpfaden und Entitätsnamen wie Sitzungen, Maschinen und Benutzern. Sehen Sie sich zum Beispiel den folgenden Beispiel-Servicepfad an:
/sessions?year=2023&month=04&day=14
Die Parameter Jahr, Monat und Tag sind obligatorisch und werden im UTC-Format hinzugefügt.
Die Daten einer bestimmten Stunde werden ebenfalls unterstützt, der Pfad lautet wie folgt:
/sessions?year=2023&month=04&day=14&hour=10 (Fetch the data of 2023/04/14 10:00)
HTTP-Header
Schlüssel | Beispiel | Wert | Erforderlich |
---|---|---|---|
Autorisierung | CwsAuth bearer= | Ja | |
Citrix-CustomerId | Ja | ||
Content-Type | application/json | Ja | |
Citrix-TransactionId | Nein | ||
Accept-Encoding | gzip | Nein |
Netzbetreiber
Die CAS ODATA API unterstützt die folgenden grundlegenden Odata-Systemoptionen:
Hinweis:
Fügen Sie dem Wert der Option $select kein Leerzeichen hinzu.
Operatoren und Funktionen für $filter
Die CAS-ODATA-API unterstützt die folgenden logischen odata-Operatoren und Zeichenkettenfunktionen für die $filter-Option:
Entitäten und Datenattribute
Die folgenden drei CAS-Leistungseinheiten werden unterstützt:
Beispiele für Anwendungsfälle
Holen Sie sich die Metadaten und wählen Sie einige Spalten aus, um die Abfrage durchzuführen
-
Anforderung der Metadaten
Anforderungsbeispiel:
curl --location 'https://api.cloud.com/casodata/$metadata' \ --header 'Authorization: CwsAuth bearer=eyJhbGciOiJSUzI1NiIsInR5.....' \ --header 'Citrix-CustomerId: qt64gkrzji7h' \ --header 'Content-Type: application/json'
Antwortbeispiel:
<?xml version="1.0" encoding="UTF-8"?> <edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"> <edmx:DataServices> <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="cas.odata.v1"> <EntityType Name="session"> <Property Name="timestamp" Type="Edm.String"></Property> <Property Name="sessionKey" Type="Edm.String"></Property> <Property Name="sessionScore" Type="Edm.Double"></Property> <Property Name="sessionState" Type="Edm.String"></Property> ... <Property Name="sessionLaunchStatus" Type="Edm.Int32"></Property> <Property Name="sessionLaunchStatusCustom" Type="Edm.String"></Property> </EntityType> <EntityContainer Name="Container"> <EntitySet Name="sessions" EntityType="cas.odata.v1.session" IncludeInServiceDocument="false"></EntitySet> </EntityContainer> </Schema> </edmx:DataServices> </edmx:Edmx>
-
Wählen Sie Spalten
sessionKey
,sessionScore
undsessionState
aus und führen Sie die Abfrage durchAnforderungsbeispiel:
curl --location 'https://api.cloud.com/casodata/sessions?year=2023&month=04&day=14&%24select=sessionKey%2CsessionScore% 2CsessionState' \ --header 'Authorization: CwsAuth bearer=eyJhbGciOiJSUzI1NiIsInR5.....' \ --header 'Citrix-CustomerId: qt64gkrzji7h' \ --header 'Content-Type: application/json'
Antwortbeispiel:
{ "@odata.context": "$metadata#sessions(sessionKey,sessionScore,sessionState)/$entity", "value": [ { "sessionKey": "009e7f0f-5707-4083-934f-24d8ad5e91f8", "sessionScore": -1.0, "sessionState": "2" }, ... { "sessionKey": "ff0504e3-0867-414a-b0b2-beb73f06fdad", "sessionScore": 0.0, "sessionState": "5" } ] }
Ruft alle Daten eines bestimmten Tages mit Paginierung ab
Die Standardbeschränkung der Abfrage beträgt 1000 Zeilen.
Der Benutzer kann den Wert der Option $top
festlegen, um die Ergebniszeilen in der Abfrage einzuschränken. In diesem Szenario wird der Link zur nächsten Seite am Ende der Abfrageantwort
bereitgestellt.
Anforderungsbeispiel:
curl --location 'https://api.cloud.com/casodata/sessions?year=2023&month=04&day=14&%24top=100' \
--header 'Authorization: CwsAuth bearer=eyJhbGciOiJSUzI1NiIsInR5.....' \
--header 'Citrix-CustomerId: qt64gkrzji7h' \
--header 'Content-Type: application/json'
Antwortbeispiel:
{
"@odata.context": "$metadata#sessions/$entity",
"value": [
{
"timestamp": "2023-03-28T00:00:00.000Z",
"sessionKey": "009e7f0f-5707-4083-934f-24d8ad5e91f8",
"sessionScore": 79.0,
"sessionState": "2",
"sessionType": "0",
"userName": "81d0260b529c11fbb05c8dfabb3d312182e6af9deecfc6c036768df2ed3c3a39",
"sessionStartTime": "2023-03-28T17:38:38.000Z",
"machineName": "253f6a031c9b65cbb7bcc3f137b9878fe0effef010757aec54420776a0d2dd71",
"deliveryGroupName": "CVD\BUR CVAD Development",
"logonDuration": 18.69,
"brokeringDuration": 0.0,
"vmStartDuration": 0.0,
"hdxConnectionDuration": 0.0,
"authenticationDuration": 0.0,
"gpoDuration": 0.0,
"logonScriptsDuration": 0.0,
"profileLoadDuration": 0.0,
"interactiveSessionsDuration": 0.0,
"siteName": "cloudxdsite",
"icaRtt": 125.38,
"reconnects": 0.0,
"wanLatency": 0,
"hostDelay": 0,
"dcLatency": 0,
"endpointLocationCity": null,
"endpointReceiverVersion": "21.6.0.47",
"endpointOS": "Windows",
"endpointLocationCountry": null,
"endpointLinkSpeed": -1.0,
"endpointName": "64368231b5d925e40d67449640ca110e9658f63eef37d2579b09b975cc7f7e88",
"endpointIP": "850a4b2abc159a2f7d44dac564bda06afad0c558a070a2681f5cc0e1aa81991c",
"vdaIP": null,
"gatewayFQDN": null,
"connectionType": "External",
"connectorName": null,
"connectorGatewayLatency": 0.0,
"networkInterfaceType": null,
"isp": null,
"sessionLaunchType": "ICA",
"throughputBytesReceived": -1.0,
"throughputBytesSent": -1.0,
"inputBandwidthConsumed": -1.0,
"outputBandwidthAvailable": -1.0,
"outputBandwidthUsed": -1.0,
"networkLatency": -1.0,
"outputBandwidthUtilization": -1.0,
"siteId": "090e20c8-c852-4a92-9b3f-dfb8d8b2ab61",
"sessionLaunchStatus": 0,
"sessionLaunchStatusCustom": "Succeeded"
},
...
{
"timestamp": "2023-04-14T00:00:00.000Z",
"sessionKey": "ff0504e3-0867-414a-b0b2-beb73f06fdad",
"sessionScore": 0.0,
"sessionState": "5",
"sessionType": "0",
"userName": "aed8a56c38d5d2824d8699a48cdd1b19eb3b16f135c8d61bf2cd6acd465aa998",
"sessionStartTime": "2023-03-09T21:39:51.000Z",
"machineName": "5603b4dcad97424b6329caccc9cc6ad949b764bbc0015bc6e2a2b4938e4be954",
"deliveryGroupName": "Remote PC - Miami LABs",
"logonDuration": 0.0,
"brokeringDuration": 0.0,
"vmStartDuration": 0.0,
"hdxConnectionDuration": 0.0,
"authenticationDuration": 0.0,
"gpoDuration": 0.0,
"logonScriptsDuration": 0.0,
"profileLoadDuration": 0.0,
"interactiveSessionsDuration": 0.0,
"siteName": "cloudxdsite",
"icaRtt": 0.0,
"reconnects": 0.0,
"wanLatency": 0,
"hostDelay": 0,
"dcLatency": 0,
"endpointLocationCity": null,
"endpointReceiverVersion": null,
"endpointOS": "Windows 10",
"endpointLocationCountry": null,
"endpointLinkSpeed": -1.0,
"endpointName": "Precision 5550",
"endpointIP": "e74dbbbd20d20f971c0254c6680aad800ad3932c4740544b39a42bb422424272",
"vdaIP": null,
"gatewayFQDN": null,
"connectionType": "External",
"connectorName": null,
"connectorGatewayLatency": 0.0,
"networkInterfaceType": null,
"isp": null,
"sessionLaunchType": "ICA",
"throughputBytesReceived": -1.0,
"throughputBytesSent": -1.0,
"inputBandwidthConsumed": -1.0,
"outputBandwidthAvailable": -1.0,
"outputBandwidthUsed": -1.0,
"networkLatency": -1.0,
"outputBandwidthUtilization": -1.0,
"siteId": "090e20c8-c852-4a92-9b3f-dfb8d8b2ab61",
"sessionLaunchStatus": 0,
"sessionLaunchStatusCustom": "Succeeded"
}
],
"@odata.nextLink": "https://api.cloud.com/casodata/sessions?year=2023&month=04&day=14&%
24skip=100&%24top=100"
}
Holen Sie sich alle Daten einer bestimmten Sitzung (filtern Sie die Daten mit sessionkey)
Anforderungsbeispiel:
curl --location 'https://api.cloud.com/casodata/sessions?year=2023&month=04&day=14&%24filter=sessionKey%20eq%20%
27009e7f0f-5707-4083-934f-24d8ad5e91f8%27' \
--header 'Authorization: CwsAuth bearer=eyJhbGciOiJSUzI1NiIsInR5.....' \
--header 'Citrix-CustomerId: qt64gkrzji7h' \
--header 'Content-Type: application/json'
Antwortbeispiel:
{
"@odata.context": "$metadata#sessions/$entity",
"value": [
{
"timestamp": "2023-04-14T00:00:00.000Z",
"sessionKey": "009e7f0f-5707-4083-934f-24d8ad5e91f8",
"sessionScore": -1.0,
"sessionState": "2",
"sessionType": "0",
"userName": "81d0260b529c11fbb05c8dfabb3d312182e6af9deecfc6c036768df2ed3c3a39",
"sessionStartTime": "2023-04-05T17:32:45.000Z",
"machineName": "253f6a031c9b65cbb7bcc3f137b9878fe0effef010757aec54420776a0d2dd71",
"deliveryGroupName": "CVD\BUR CVAD Development",
"logonDuration": 21.2,
"brokeringDuration": 0.0,
"vmStartDuration": 0.0,
"hdxConnectionDuration": 0.0,
"authenticationDuration": 0.0,
"gpoDuration": 0.0,
"logonScriptsDuration": 0.0,
"profileLoadDuration": 0.0,
"interactiveSessionsDuration": 0.0,
"siteName": "cloudxdsite",
"icaRtt": 0.0,
"reconnects": 0.0,
"wanLatency": 0,
"hostDelay": 0,
"dcLatency": 0,
"endpointLocationCity": null,
"endpointReceiverVersion": "21.6.0.47",
"endpointOS": "Windows",
"endpointLocationCountry": null,
"endpointLinkSpeed": -1.0,
"endpointName": "64368231b5d925e40d67449640ca110e9658f63eef37d2579b09b975cc7f7e88",
"endpointIP": "8dbacd9197f4d3dc068fd44b4837828f8e10a19358b14e96d439cfc82042b70f",
"vdaIP": null,
"gatewayFQDN": null,
"connectionType": "External",
"connectorName": null,
"connectorGatewayLatency": 0.0,
"networkInterfaceType": null,
"isp": null,
"sessionLaunchType": "ICA",
"throughputBytesReceived": -1.0,
"throughputBytesSent": -1.0,
"inputBandwidthConsumed": -1.0,
"outputBandwidthAvailable": -1.0,
"outputBandwidthUsed": -1.0,
"networkLatency": -1.0,
"outputBandwidthUtilization": -1.0,
"siteId": "090e20c8-c852-4a92-9b3f-dfb8d8b2ab61",
"sessionLaunchStatus": 0,
"sessionLaunchStatusCustom": "Succeeded"
}
]
}
Zählen Sie alle aktiven Sitzungen eines bestimmten Tages
Anforderungsbeispiel:
curl --location 'https://api.cloud.com/casodata/sessions?year=2023&month=04&day=14&%24count=true&%24filter=sessionState%
20eq%20%275%27' \
--header 'Authorization: CwsAuth bearer=eyJhbGciOiJSUzI1NiIsInR5.....' \
--header 'Citrix-CustomerId: qt64gkrzji7h' \
--header 'Content-Type: application/json'
Antwortbeispiel:
207
Datenquelle
Das CAS-Self-Service-Suchdashboard visualisiert die Daten, zeigt sie den Kundenadministratoren an und aktiviert die Suchfunktionen. Die ODATA-API verwendet dieselbe Datenquelle und bietet Kundenadministratoren mehr Flexibilität beim Abrufen und Filtern der Daten. Weitere Informationen finden Sie unter Tabellarische Daten.