← Cloudflare Stream / stream / getting-analytics
GraphQL Analytics API
Stream poskytuje analytické údaje o živém videu i o videu nahraném do Stream, a to prostřednictvím GraphQL API popsaného níže i na stránce Stream Analytics stránce v Cloudflare dashboard.
Přejděte na Analytics ↗Rozhraní Stream Analytics API využívá Cloudflare GraphQL Analytics API, které lze použít napříč mnoha produkty Cloudflare. Další informace o GraphQL, limitech četnosti požadavků, filtrech a řazení najdete v Cloudflare GraphQL Analytics API docs.
Začínáme
-
V dashboardu Cloudflare přejděte na API tokeny účtu stránce.
Přejděte na API tokeny účtu ↗ -
Vygenerujte token API pomocí Account Analytics oprávnění.
-
K vytvoření prvního dotazu použijte libovolného klienta GraphQL. Postman ↗ má vestavěného klienta GraphQL, který vám pomůže spustit první dotaz a prozkoumat schéma GraphQL, abyste zjistili, co všechno je možné.
Dostupné metriky, dimenze, pole a ukázkové dotazy najdete v sekcích níže.
Analytika na straně serveru
Stream shromažďuje údaje o počtu minut videa doručených divákům u všech živých videí i videí na vyžádání přehrávaných přes HLS nebo DASH, bez ohledu na to, zda používáte Stream Player.
Filtry a dimenze
| Pole | Popis |
|---|---|
date |
Datum |
datetime |
DateTime |
uid |
UID videa |
clientCountryName |
Kód země podle normy ISO 3166 alpha2 od klienta, který video zhlédl |
creator |
ID tvůrce přiřazené k jednotlivým videím, pokud existují |
Některé filtry, jako date, lze použít s operátory, jako je gt (větší než) a lt (menší než), jak ukazuje níže uvedený příklad dotazu. Pokročilejší možnosti filtrování najdete v filtrování.
Metriky
| Node | Pole | Popis |
|---|---|---|
streamMinutesViewedAdaptiveGroups |
minutesViewed |
Minuty doručeného videa |
Příklad
Získání počtu zhlédnutých minut podle zemí
query StreamGetMinutesExample($accountTag: string!, $start: Date, $end: Date) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
streamMinutesViewedAdaptiveGroups(
filter: { date_geq: $start, date_lt: $end }
orderBy: [sum_minutesViewed_DESC]
limit: 100
) {
sum {
minutesViewed
}
dimensions {
uid
clientCountryName
}
}
}
}
}{
"data": {
"viewer": {
"accounts": [
{
"streamMinutesViewedAdaptiveGroups": [
{
"dimensions": {
"clientCountryName": "US",
"uid": "73c514082b154945a753d0011e9d7525"
},
"sum": {
"minutesViewed": 2234
}
},
{
"dimensions": {
"clientCountryName": "CN",
"uid": "73c514082b154945a753d0011e9d7525"
},
"sum": {
"minutesViewed": 700
}
},
{
"dimensions": {
"clientCountryName": "IN",
"uid": "73c514082b154945a753d0011e9d7525"
},
"sum": {
"minutesViewed": 553
}
}
]
}
]
}
},
"errors": null
}Stránkování
GraphQL API podporuje stránkování pomocí seek: pomocí filtrů můžete zadat poslední UID videa, takže odpověď bude obsahovat pouze data pro videa následující po tomto UID.
Níže uvedený dotaz vrátí data pro 2 videa následující po video UID 5646153f8dea17f44d542a42e76cfd:
query StreamPaginationExample(
$accountTag: string!
$start: Date
$end: Date
$uId: string
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
videoPlaybackEventsAdaptiveGroups(
filter: { date_geq: $start, date_lt: $end, uid_gt: $uId }
orderBy: [uid_ASC]
limit: 2
) {
count
sum {
timeViewedMinutes
}
dimensions {
uid
}
}
}
}
}Stránkování implementujete v těchto krocích:
- První dotaz zavolejte bez filtru uid_gt, abyste získali první sadu videí
- Získejte poslední UID videa z odpovědi na první dotaz
- Další dotaz zavoláte zadáním vlastnosti uid_gt a jejím nastavením na poslední UID videa. Tím se vrátí další sada videí
Více informací o stránkování najdete v Cloudflare GraphQL Analytics API docs.
Omezení
- Maximální interval dotazu v rámci jednoho dotazu je 31 dní
- Maximální doba uchovávání dat je 90 dní