Aktivitätsansichten verwenden
Ordnen Sie gesteuerte Quellen zu und verwenden Sie feste gespeicherte Ansichten in Processes.
Aktivitätsansichten verwenden
Aktivitätsansichten gruppieren autorisierte Processes-Aktivität über explizite Referenzen und Zuordnungen. Eine Referenz ist eine undurchsichtige Kennung im Mandantenbereich. Sie erzeugt keinen Kunden-, Fall-, Antrags- oder Geschäftsergebnisdatensatz.
Verwenden Sie diesen Leitfaden, nachdem der Quelleneigentümer die Lebenszyklusfakten aufgezeichnet hat. Aktivitätsansichten zeigen diese Fakten einschließlich Wartezuständen und Decision Requests. Lineage Explorer bleibt die Oberfläche für die Ausführungsuntersuchung.
Zugriff und Verantwortung
workflow:read öffnet die Processes-Routen. Der Quelleneigentümer autorisiert
jede beitragende Quelle, bevor KLA ihre Referenz, Anzahl, Zeit, Beziehung oder
ihren Chronologieeintrag zurückgibt. activity_reference:manage verwaltet
Zuordnungen und activity_view:manage verwaltet Definitionen gespeicherter
Ansichten. Ein Zuordnungsaufruf löst zusätzlich den Lesezugriff auf die benannte
Quelle auf, daher erhält eine Identität mit activity_reference:manage ohne
Lesezugriff auf diese Quelle FORBIDDEN.
| Vorgang | Generierte Control-Plane-Prozedur |
|---|---|
| Quelle zuordnen | activityReferences.admit |
| Zuordnung korrigieren | activityReferences.correct |
| Wirksame Zuordnungen lesen | activityReferences.listEffective |
| Gespeicherte Ansicht erstellen, ändern, archivieren oder wiederherstellen | activityViews.create, activityViews.update, activityViews.archive, activityViews.unarchive |
| Gruppen, Aktivität oder verwandte Arbeit abfragen | activity.listGroups, activity.getGroup, activity.listActivity, activity.listRelatedGroups |
Der Abfragepfad liest die Projektion der primären API. Er ruft für keine Zeile eine Eigentümer-API auf. Der Quelleneigentümer bleibt für seine Lebenszyklusfakten, seinen Inhalt und seinen Quellen-Drilldown verantwortlich.
Zwei Anfragen einer Kundenreferenz zuordnen
Verwenden Sie explizite Referenzen, die der Quelleneigentümer oder die
Integration liefert. Leiten Sie eine Referenz niemals aus Prompt-Text, aus dem
Anzeigetext einer Quelle oder aus Nachrichteninhalt ab. Der erste Rumpf ordnet
eine Anfrage einer Kundenreferenz und einer Anfragereferenz zu. Speichern Sie
ihn als request-104-association.json.
{
"references": [
{ "namespace": "customer", "key": "external_id", "value": "CMB-42" },
{ "namespace": "request", "key": "external_id", "value": "REQUEST-104" }
],
"source": {
"sourceType": "input_wait",
"sourceId": "11111111-1111-4111-8111-111111111111",
"sourceRevision": "wait-104-v1"
}
}
activityReferences.listEffective trägt allein den Quellen-Locator und gibt die
Zuordnungen zurück, die derzeit zur Projektion beitragen. Speichern Sie ihn als
request-104-source.json.
{
"source": {
"sourceType": "input_wait",
"sourceId": "11111111-1111-4111-8111-111111111111",
"sourceRevision": "wait-104-v1"
}
}
kla api activityReferences admit --input @request-104-association.json
kla api activityReferences listEffective --input @request-104-source.json
Verwenden Sie activityReferences.correct, wenn sich die wirksame Zuordnung
ändert. Die Korrektur benennt die Zuordnung, die sie ersetzt. Die alte Zuordnung
bleibt in der Historie und trägt nicht mehr zur wirksamen Projektion bei.
Speichern Sie die Korrektur als request-104-correction.json.
{
"reference": { "namespace": "request", "key": "external_id", "value": "REQUEST-104-CORRECTED" },
"source": {
"sourceType": "input_wait",
"sourceId": "11111111-1111-4111-8111-111111111111",
"sourceRevision": "wait-104-v2"
},
"supersedesAssociationId": "22222222-2222-4222-8222-222222222222"
}
kla api activityReferences correct --input @request-104-correction.json
Quellen mit Tombstone bleiben nach der Wiederholung entfernt. Eine Korrektur
oder ein Tombstone kann die Abdeckung auf partial oder unavailable setzen;
entfernten Inhalt stellt sie nicht wieder her.
Feste gespeicherte Ansicht erstellen
Gespeicherte Ansichten akzeptieren eine feste Konfiguration. Die zulässigen Filter sind Referenzgleichheit, Quellenart, aufgezeichneter Zustand und ein einschließender Datumsbereich. API, CLI und UI lehnen Formelfelder, beliebige Ausdrucksbäume, benutzerdefinierte Operatoren und ein Geschäftsergebnisfeld ab.
Eine Ansicht mit Arbeitsbereich listet einzelne Anfragen auf. Speichern Sie
diese Definition als customer-request-history.json.
{
"name": "Customer request history",
"grouping": { "namespace": "request", "key": "external_id" },
"labels": { "grouping": "Request" },
"scope": "work",
"orderedColumns": ["reference", "pending_work", "latest_activity", "waiting_since"],
"filters": {
"referenceEquals": [],
"sourceKinds": ["input_wait", "input_event", "execution"],
"statuses": ["waiting", "completed"]
},
"sort": { "field": "latest_activity", "direction": "desc" }
}
Verwandte Arbeit gehört zu einer Ansicht mit Subjektbereich, die eine sekundäre
Gruppierung trägt. activity.listRelatedGroups lehnt jede andere Konfiguration
mit secondary_grouping_required ab. Speichern Sie diese Definition als
customer-history-view.json.
{
"name": "Customer history",
"grouping": { "namespace": "customer", "key": "external_id" },
"labels": { "grouping": "Customer", "secondaryGrouping": "Request" },
"scope": "subject",
"secondaryGrouping": { "namespace": "request", "key": "external_id" },
"orderedColumns": ["reference", "pending_work", "latest_activity", "secondary_reference"],
"filters": {
"referenceEquals": [],
"sourceKinds": ["input_wait", "input_event", "execution"],
"statuses": ["waiting", "completed"]
},
"sort": { "field": "latest_activity", "direction": "desc" }
}
Eine Änderung ersetzt die gesamte gespeicherte Konfiguration. Der Body trägt
jedes Konfigurationsfeld zusammen mit der id der Ansicht und ihrer aktuellen
expectedRevision. Diese Änderung fügt die Spalte für die Frist hinzu.
Speichern Sie sie als customer-request-history-update.json.
{
"id": "33333333-3333-4333-8333-333333333333",
"expectedRevision": 1,
"name": "Customer request history",
"grouping": { "namespace": "request", "key": "external_id" },
"labels": { "grouping": "Request" },
"scope": "work",
"orderedColumns": ["reference", "pending_work", "latest_activity", "waiting_since", "deadline"],
"filters": {
"referenceEquals": [],
"sourceKinds": ["input_wait", "input_event", "execution"],
"statuses": ["waiting", "completed"]
},
"sort": { "field": "latest_activity", "direction": "desc" }
}
Die Archivierung behält die Definition und entfernt die Ansicht aus der Liste.
Sie erfordert die id der Ansicht und die Revision, die die Änderung
zurückgegeben hat. Speichern Sie sie als
customer-request-history-archive.json.
{
"id": "33333333-3333-4333-8333-333333333333",
"expectedRevision": 2
}
Die Wiederherstellung stellt eine archivierte Ansicht wieder her und erfordert
die Revision, die die Archivierung zurückgegeben hat. Speichern Sie sie als
customer-request-history-unarchive.json.
{
"id": "33333333-3333-4333-8333-333333333333",
"expectedRevision": 3
}
kla api activityViews create --input @customer-request-history.json
kla api activityViews create --input @customer-history-view.json
kla api activityViews update --input @customer-request-history-update.json
kla api activityViews archive --input @customer-request-history-archive.json
kla api activityViews unarchive --input @customer-request-history-unarchive.json
Jede Änderung einer gespeicherten Ansicht gibt die nächste Revision zurück. Laden Sie die gespeicherte Definition neu, bevor Sie einen Konflikt erneut versuchen.
Arbeit und Kundenhistorie abfragen
Jede Abfrage benennt eine gespeicherte Ansicht. Ein angeforderter Filter engt
den gespeicherten Filter ein, und ein angefordertes Sortierfeld muss in den
gespeicherten orderedColumns enthalten sein. Jede erfolgreiche Antwort liefert
asOf, coverage und nextCursor. totalCount ist auf den autorisierten
Snapshot begrenzt und kann null sein, wenn die Abfrage ihre Aggregationsgrenze
erreicht.
activity.listGroups listet die Gruppen der Ansicht mit Arbeitsbereich auf.
Speichern Sie die Abfrage als waiting-requests-query.json.
{
"viewId": "33333333-3333-4333-8333-333333333333",
"filters": {
"referenceEquals": [],
"sourceKinds": ["input_wait"],
"statuses": ["waiting"]
},
"limit": 25,
"sort": { "field": "latest_activity", "direction": "desc" }
}
activity.getGroup liest eine Gruppe. Es erfordert referenceId und akzeptiert
kein limit und kein sort. Speichern Sie die Abfrage als
request-104-group.json.
{
"viewId": "33333333-3333-4333-8333-333333333333",
"referenceId": "44444444-4444-4444-8444-444444444444"
}
activity.listActivity liest die Chronologie einer Referenz und blättert mit
dem Cursor durch sie. Speichern Sie die Abfrage als request-104-timeline.json.
{
"viewId": "33333333-3333-4333-8333-333333333333",
"referenceId": "44444444-4444-4444-8444-444444444444",
"limit": 25,
"sort": { "field": "latest_activity", "direction": "desc" }
}
activity.listRelatedGroups benennt die Ansicht mit Subjektbereich und die
Kundenreferenz und gibt dann die darunterliegenden Anfragegruppen zurück.
Speichern Sie die Abfrage als customer-42-history.json.
{
"viewId": "55555555-5555-4555-8555-555555555555",
"referenceId": "66666666-6666-4666-8666-666666666666",
"limit": 25,
"sort": { "field": "latest_activity", "direction": "desc" }
}
kla api activity listGroups --input @waiting-requests-query.json
kla api activity getGroup --input @request-104-group.json
kla api activity listActivity --input @request-104-timeline.json
kla api activity listRelatedGroups --input @customer-42-history.json
Der zurückgegebene Cursor bindet die Abfrageform und den Projektions-Snapshot. Verwenden Sie ihn nur für dieselbe Ansicht, dieselbe Referenz, dieselben Filter und dieselbe Sortierung. Wählen Sie Aktualisieren, um einen neuen autorisierten Snapshot zu starten.
Den typisierten TypeScript-Client verwenden
Der TypeScript-Client der Control Plane verwendet dieselben tRPC-Prozeduren wie die CLI. Er überträgt das Zugriffstoken und den Mandanten-Header über seinen konfigurierten Transport. Die Node- und Python-Governance-SDKs veröffentlichen keine Methoden für Aktivitätsansichten.
import type { AppRouter } from '@kla/api';
import { createControlPlaneClient } from '@kla/api-client';
const client = createControlPlaneClient<AppRouter>({
baseUrl: process.env.KLA_API_URL!,
tenantId: process.env.KLA_TENANT_ID!,
token: process.env.KLA_ACCESS_TOKEN!,
});
const view = await client.activityViews.create.mutate(configuration);
const groups = await client.activity.listGroups.query({ viewId: view.id, limit: 25 });
Der Client erhält denselben typisierten Konfigurationsvertrag wie die UI. Die Quellenautorisierung erfolgt weiterhin für jede Abfrage auf dem Server.
Aktuelle Aktivität prüfen
Öffnen Sie Processes und wählen Sie eine Aktivitätsansicht. Die Gruppenliste zeigt getrennte Arbeitsreferenzen. Öffnen Sie eine Arbeitsreferenz für ihre Chronologie. Öffnen Sie eine Subjektreferenz für verwandte Arbeit. Verwenden Sie die Eigentümerlinks, um die Untersuchung in Lineage Explorer oder Decision Desk fortzusetzen, wenn die aktuelle Identität diese Quelle lesen kann.
Abdeckung und Aktualität beschreiben den zurückgegebenen Projektions-Snapshot. Ein Teilergebnis kann Quellenaktivität auslassen. Eine Berechtigungsänderung entfernt eine Quelle bei der nächsten autorisierten Lesung.
