Guides

Usare le viste attività

Associa fonti governate e usa viste salvate fisse in Processes.

6 min di lettura1314 parole

Usare le viste attività

Le viste attività raggruppano l’attività autorizzata di Processes tramite riferimenti e associazioni espliciti. Un riferimento è un identificatore opaco nell’ambito del tenant. Non crea un record cliente, caso, richiesta o risultato di business.

Usare questa guida dopo che il proprietario della fonte ha registrato i fatti di ciclo di vita. Le viste attività mostrano quei fatti, comprese le attese e le Decision Request. Lineage Explorer resta la superficie di indagine sull’esecuzione.

Accesso e proprietà

workflow:read apre le route di Processes. Il proprietario della fonte autorizza ogni fonte che contribuisce prima che KLA restituisca il suo riferimento, conteggio, orario, relazione o elemento di cronologia. activity_reference:manage gestisce le associazioni e activity_view:manage gestisce le definizioni delle viste salvate. Una chiamata di associazione risolve anche l’accesso in lettura alla fonte che nomina, quindi un’identità con activity_reference:manage senza accesso in lettura a quella fonte riceve FORBIDDEN.

Operazione Procedura generata del control plane
Associare una fonte activityReferences.admit
Correggere un’associazione activityReferences.correct
Leggere le associazioni effettive activityReferences.listEffective
Creare, aggiornare, archiviare o recuperare una vista salvata activityViews.create, activityViews.update, activityViews.archive, activityViews.unarchive
Interrogare gruppi, attività o lavoro correlato activity.listGroups, activity.getGroup, activity.listActivity, activity.listRelatedGroups

Il percorso di query legge la proiezione dell’API primaria. Non chiama l’API di un proprietario per ogni riga. Il proprietario della fonte resta responsabile dei suoi fatti di ciclo di vita, del suo contenuto e del suo dettaglio di fonte.

Associare due richieste a un riferimento cliente

Usare riferimenti espliciti forniti dal proprietario della fonte o dall’integrazione. Non dedurre mai un riferimento dal testo di un prompt, dal testo visualizzato di una fonte o dal contenuto di un messaggio. Il primo corpo associa una richiesta a un riferimento cliente e a un riferimento di richiesta. Salvarlo come 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 porta da solo il localizzatore di fonte e restituisce le associazioni che contribuiscono attualmente alla proiezione. Salvarlo come 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

Usare activityReferences.correct quando cambia l’associazione effettiva. La correzione nomina l’associazione che sostituisce. L’associazione precedente resta nella cronologia e smette di contribuire alla proiezione effettiva. Salvare la correzione come 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

Le fonti con tombstone restano rimosse dopo la riproduzione. Una correzione o un tombstone può portare la copertura a partial o unavailable; non ripristina il contenuto rimosso.

Creare una vista salvata fissa

Le viste salvate accettano una configurazione fissa. I filtri consentiti sono l’uguaglianza di riferimento, il tipo di fonte, lo stato registrato e un intervallo di date inclusivo. API, CLI e UI rifiutano campi formula, alberi di espressione arbitrari, operatori personalizzati e un campo di risultato di business.

Una vista di ambito lavoro elenca le singole richieste. Salvare questa definizione come 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" }
}

Il lavoro correlato appartiene a una vista di ambito soggetto che porta un raggruppamento secondario. activity.listRelatedGroups rifiuta ogni altra configurazione con secondary_grouping_required. Salvare questa definizione come 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" }
}

Un aggiornamento sostituisce l’intera configurazione salvata. Il corpo porta ogni campo di configurazione con l’id della vista e la sua expectedRevision corrente. Questo aggiornamento aggiunge la colonna della scadenza. Salvarlo come 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" }
}

L’archiviazione conserva la definizione e rimuove la vista dall’elenco. Richiede l’id della vista e la revisione restituita dall’aggiornamento. Salvarla come customer-request-history-archive.json.

{
  "id": "33333333-3333-4333-8333-333333333333",
  "expectedRevision": 2
}

Il recupero ripristina una vista archiviata e richiede la revisione restituita dall’archiviazione. Salvarlo come 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

Ogni modifica di una vista salvata restituisce la revisione successiva. Ricaricare la definizione salvata prima di ritentare un conflitto.

Interrogare il lavoro e la storia cliente

Ogni query nomina una vista salvata. Un filtro richiesto restringe il filtro salvato e un campo di ordinamento richiesto deve comparire negli orderedColumns salvati. Ogni risposta riuscita fornisce asOf, coverage e nextCursor. totalCount è limitato allo snapshot autorizzato e può essere null quando la query raggiunge il suo limite di aggregazione.

activity.listGroups elenca i gruppi della vista di ambito lavoro. Salvare la query come 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 legge un gruppo. Richiede referenceId e non accetta limitsort. Salvare la query come request-104-group.json.

{
  "viewId": "33333333-3333-4333-8333-333333333333",
  "referenceId": "44444444-4444-4444-8444-444444444444"
}

activity.listActivity legge la cronologia di un riferimento e la pagina con il cursore. Salvare la query come 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 nomina la vista di ambito soggetto e il riferimento cliente, poi restituisce i gruppi di richiesta sottostanti. Salvare la query come 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

Il cursore restituito lega la forma della query e lo snapshot di proiezione. Usarlo solo per la stessa vista, lo stesso riferimento, gli stessi filtri e lo stesso ordinamento. Selezionare Aggiorna per avviare un nuovo snapshot autorizzato.

Usare il client TypeScript tipizzato

Il client TypeScript del control plane usa le stesse procedure tRPC della CLI. Trasporta il token di accesso e l’intestazione di tenant attraverso il suo trasporto configurato. Gli SDK di governance Node e Python non pubblicano metodi per le viste attività.

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 });

Il client riceve lo stesso contratto di configurazione tipizzato della UI. L’autorizzazione delle fonti avviene comunque sul server per ogni query.

Esaminare l’attività corrente

Aprire Processes e selezionare una vista attività. L’elenco dei gruppi mostra riferimenti di lavoro distinti. Aprire un riferimento di lavoro per la sua cronologia. Aprire un riferimento di soggetto per il lavoro correlato. Usare i collegamenti del proprietario per proseguire l’indagine in Lineage Explorer o Decision Desk quando l’identità corrente può leggere quella fonte.

Copertura e freschezza descrivono lo snapshot di proiezione restituito. Un risultato parziale può omettere attività di una fonte. Una modifica dei permessi rimuove una fonte alla successiva lettura autorizzata.

Usare le viste attività | Developer Docs | KLA Control Plane