Configurare i criteri

Questa pagina fornisce una breve panoramica delle cartelle e spiega come gestire i documenti utilizzando le cartelle.

Motore delle norme e regole

In Document Warehouse, Policy Engine consente agli utenti di definire ed eseguire operazioni comuni sui documenti (ad esempio, convalidare o aggiornare) durante la creazione o l'aggiornamento dei documenti.

Regole e serie di regole

Una regola a livello generale si riferisce a una configurazione definita dall'utente che specifica quanto segue:

  • cosa attiva il controllo delle regole,
  • quale condizione viene valutata e
  • quali azioni vengono eseguite quando la condizione è soddisfatta.

Oltre a queste specifiche, una regola include informazioni su descrizione, origine, destinazione e condizione di attivazione.

Una raccolta logica di regole è chiamata RuleSet. Ad esempio, le regole che operano sullo stesso schema possono essere raggruppate in un unico RuleSet. I clienti possono definire più RuleSet.

Le regole sono utili per attivare automaticamente azioni predefinite durante la creazione o l'aggiornamento dei documenti.

Una regola è composta da tre elementi principali:

  • TriggerType: evento su cui deve essere avviato il controllo della regola. Crea e Aggiorna sono i tipi di trigger supportati.
  • Condizione della regola: la condizione valutata dopo il rilevamento di un determinato tipo di trigger. Le condizioni possono essere espresse utilizzando il Common Expression Language (CEL). Ogni condizione deve restituire un output booleano.
  • Azioni: insieme di passaggi eseguiti quando la regola è soddisfatta. Quando una condizione della regola viene valutata come vera, viene eseguita l'azione corrispondente (configurata nella regola). Di seguito sono riportati i dettagli di alto livello sulle azioni specifiche implementate in Document Warehouse:
    • Azione di convalida dei dati: azione che consente di convalidare campi specifici nel documento durante la creazione o l'aggiornamento del documento.
    • Azione Aggiornamento dati: azione che consente di aggiornare campi specifici nel documento durante la creazione o l'aggiornamento del documento. Questi aggiornamenti vengono eseguiti quando la condizione della regola è soddisfatta.
    • Elimina azione documento: azione che consente di eliminare il documento durante l'aggiornamento del documento quando determinati campi soddisfano i criteri di eliminazione definiti utilizzando le condizioni della regola.
    • Azione di inclusione delle cartelle: azione che aggiunge automaticamente un nuovo documento (o un documento aggiornato) in cartelle specifiche. Queste cartelle possono essere specificate direttamente utilizzando il loro nome.
    • Azione Rimuovi da cartella: azione che rimuove automaticamente un nuovo documento dalle cartelle specificate quando viene soddisfatta una condizione a livello di regola.
    • Azione di controllo dell'accesso: azione che consente di aggiornare gli elenchi di controllo dell'accesso dell'accesso (associazione di gruppi e utenti) durante la creazione del documento. Questi aggiornamenti vengono eseguiti quando la condizione della regola è soddisfatta.
    • Azione di pubblicazione: azione che pubblica messaggi specifici sul canale Pub/Sub dell'utente quando viene soddisfatta una condizione a livello di regola.

Gestisci i set di regole

Document Warehouse fornisce API per gestire i RuleSet (creazione, recupero, aggiornamento, eliminazione, elenco). Questa sezione fornisce esempi per la configurazione di diversi tipi di regole.

Crea un insieme di regole

Per creare un insieme di regole:

REST

Richiesta:

# Create a RuleSet for data validation.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "trigger_type": "ON_CREATE",
      "condition": "documentType == \'W9\' && STATE ==\'CA\'",
      "actions": {
        "data_validation": {
          "conditions": {
            "NAME": "NAME != \'\'",
            "FILING_COST": "FILING_COST > 10.0"
          }
        }
      },
      "enabled": true
    }
  ],
  "description": "W9: Basic validation check rules."
}'

Risposta

{
  "description": "W9: Basic validation check rules.",
  "name": "RULE_SET_NAME",
  "rules": [
    {
      "actions": [
        {
          "actionId": "de0e6b84-106b-44ba-b1c4-0b3ad6ddc719",
          "dataValidation": {
            "conditions": {
              "FILING_COST": "FILING_COST > 10.0",
              "NAME": "NAME != ''"
            }
          }
        }
      ],
      "condition": "documentType == 'W9' && STATE =='CA'",
      "enabled": true,
      "triggerType": "ON_CREATE"
    }
  ]
}

Python

Per saperne di più, consulta la documentazione di riferimento dell'API Document AI Warehouse Python.

Per eseguire l'autenticazione in Document AI Warehouse, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.


from google.cloud import contentwarehouse

# TODO(developer): Uncomment these variables before running the sample.
# project_number = "YOUR_PROJECT_NUMBER"
# location = "us" # Format is 'us' or 'eu'


def create_rule_set(project_number: str, location: str) -> None:
    # Create a client
    client = contentwarehouse.RuleSetServiceClient()

    # The full resource name of the location, e.g.:
    # projects/{project_number}/locations/{location}
    parent = client.common_location_path(project=project_number, location=location)

    actions = contentwarehouse.Action(
        delete_document_action=contentwarehouse.DeleteDocumentAction(
            enable_hard_delete=True
        )
    )

    rules = contentwarehouse.Rule(
        trigger_type="ON_CREATE",
        condition="documentType == 'W9' && STATE =='CA'",
        actions=[actions],
    )

    rule_set = contentwarehouse.RuleSet(
        description="W9: Basic validation check rules.",
        source="My Organization",
        rules=[rules],
    )

    # Initialize request argument(s)
    request = contentwarehouse.CreateRuleSetRequest(parent=parent, rule_set=rule_set)

    # Make the request
    response = client.create_rule_set(request=request)

    # Handle the response
    print(f"Rule Set Created: {response}")

    # Initialize request argument(s)
    request = contentwarehouse.ListRuleSetsRequest(
        parent=parent,
    )

    # Make the request
    page_result = client.list_rule_sets(request=request)

    # Handle the response
    for response in page_result:
        print(f"Rule Sets: {response}")

Java

Per saperne di più, consulta la documentazione di riferimento dell'API Document AI Warehouse Java.

Per eseguire l'autenticazione in Document AI Warehouse, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

import com.google.cloud.contentwarehouse.v1.Action;
import com.google.cloud.contentwarehouse.v1.ActionOrBuilder;
import com.google.cloud.contentwarehouse.v1.CreateRuleSetRequest;
import com.google.cloud.contentwarehouse.v1.CreateRuleSetRequestOrBuilder;
import com.google.cloud.contentwarehouse.v1.DeleteDocumentAction;
import com.google.cloud.contentwarehouse.v1.DeleteDocumentActionOrBuilder;
import com.google.cloud.contentwarehouse.v1.ListRuleSetsRequest;
import com.google.cloud.contentwarehouse.v1.ListRuleSetsRequestOrBuilder;
import com.google.cloud.contentwarehouse.v1.LocationName;
import com.google.cloud.contentwarehouse.v1.Rule;
import com.google.cloud.contentwarehouse.v1.Rule.TriggerType;
import com.google.cloud.contentwarehouse.v1.RuleOrBuilder;
import com.google.cloud.contentwarehouse.v1.RuleSet