Creazione e gestione dei set di dati

Questa pagina mostra come creare e gestire i set di dati AML AI. Un set di dati viene utilizzato come input per le pipeline di addestramento, previsione e backtest. Un set di dati contiene riferimenti alle tabelle BigQuery in un progetto Google Cloud.

A questo punto, devi solo creare il set di dati. Gli altri metodi per set di dati sono forniti per comodità.

Prima di iniziare

  • Per ottenere le autorizzazioni necessarie per creare e gestire i set di dati, chiedi all'amministratore di concederti il ruolo IAM Amministratore di Financial Services (financialservices.admin) sul tuo progetto. Per saperne di più sulla concessione dei ruoli, vedi Gestire l'accesso.

    Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

  • Crea un'istanza

Crea un set di dati

Alcuni metodi API restituiscono un'operazione a lunga esecuzione (LRO). Questi metodi sono asincroni. L'operazione potrebbe non essere completata quando il metodo restituisce una risposta. Per questi metodi, invia la richiesta e poi controlla il risultato.

Invia la richiesta

Per creare un set di dati, utilizza il metodo projects.locations.instances.datasets.create.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID: l'identificatore definito dall'utente per l'istanza
  • DATASET_ID: un identificatore definito dall'utente per il set di dati AML AI; utilizza solo lettere minuscole, numeri, trattini e trattini bassi (ad esempio, train_jan2018_apr2020)
  • BQ_INPUT_DATASET_NAME: il nome del set di dati di input BigQuery
  • PARTY_TABLE: la tabella Party nel set di dati di input BigQuery
  • ACCOUNT_PARTY_LINK_TABLE: la tabella AccountPartyLink nel set di dati di input BigQuery
  • TRANSACTION_TABLE: la tabella Transazione nel set di dati di input BigQuery
  • RISK_CASE_EVENT_TABLE: la tabella RiskCaseEvent nel set di dati di input BigQuery
  • PARTY_SUPPLEMENTARY_DATA: la tabella PartySupplementaryData nel set di dati di input BigQuery. Questa tabella è facoltativa e può essere rimossa dal JSON della richiesta
  • DATA_START_DATE: la data e l'ora di inizio dei dati da utilizzare nel set di dati; utilizza il formato "Zulu" UTC RFC3339 (ad esempio 2014-10-02T15:01:23Z)
  • DATA_END_DATE: la data e l'ora di fine dei dati da utilizzare nel set di dati; utilizza il formato "Zulu" UTC RFC3339 (ad esempio 2014-10-02T15:01:23Z)

Corpo JSON della richiesta:

{
  "tableSpecs": {
    "party": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_TABLE",
    "account_party_link": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.ACCOUNT_PARTY_LINK_TABLE",
    "transaction": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.TRANSACTION_TABLE",
    "risk_case_event": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.RISK_CASE_EVENT_TABLE",
    "party_supplementary_data": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_SUPPLEMENTARY_DATA"
  },
  "dateRange": {
    "startTime": "DATA_START_DATE",
    "endTime": "DATA_END_DATE"
  },
  "timeZone": {
    "id": "UTC"
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Verifica il risultato

Utilizza il metodo projects.locations.operations.get per verificare se il set di dati è stato creato. Se la risposta contiene "done": false, ripeti il comando finché la risposta non contiene "done": true. Il completamento di queste operazioni può richiedere da pochi minuti a diverse ore.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • OPERATION_ID: l'identificatore dell'operazione

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.Dataset",
    "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID",
    "createTime": CREATE_TIME,
    "updateTime": UPDATE_TIME,
    "tableSpecs": {
      "party": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_TABLE",
      "account_party_link": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.ACCOUNT_PARTY_LINK_TABLE",
      "transaction": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.TRANSACTION_TABLE",
      "risk_case_event": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.RISK_CASE_EVENT_TABLE",
      "party_supplementary_data": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_SUPPLEMENTARY_DATA"
    },
    "state": "ACTIVE",
    "dateRange": {
      "start_time": "DATA_START_DATE",
      "end_time": "DATA_END_DATE"
    },
    "timeZone": {
      "id": "UTC"
    }
  }
}

Recupero di un set di dati

Per ottenere un set di dati, utilizza il metodo projects.locations.instances.datasets.get.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID: l'identificatore definito dall'utente per l'istanza
  • DATASET_ID: l'identificatore definito dall'utente per il set di dati

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID",
  "createTime": CREATE_TIME,
  "updateTime": UPDATE_TIME,
  "tableSpecs": {
    "party": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_TABLE",
    "account_party_link": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.ACCOUNT_PARTY_LINK_TABLE",
    "transaction": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.TRANSACTION_TABLE",
    "risk_case_event": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.RISK_CASE_EVENT_TABLE",
    "party_supplementary_data": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_SUPPLEMENTARY_DATA"
  },
  "state": "ACTIVE",
  "dateRange": {
    "start_time": "DATA_START_DATE",
    "end_time": "DATA_END_DATE"
  },
  "timeZone": {
    "id": "UTC"
  }
}

Aggiorna un set di dati

Per aggiornare un set di dati, utilizza il metodo projects.locations.instances.datasets.patch.

Non tutti i campi di un set di dati possono essere aggiornati. L'esempio seguente aggiorna la coppia chiave-valore etichette utente associate al set di dati.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID: un identificatore definito dall'utente per l'istanza
  • DATASET_ID: l'identificatore definito dall'utente per il set di dati
  • KEY: la chiave in una coppia chiave-valore utilizzata per organizzare i set di dati. Per ulteriori informazioni, visita labels.
  • VALUE: il valore in una coppia chiave-valore utilizzata per organizzare i set di dati. Per ulteriori informazioni, visita labels.

Corpo JSON della richiesta:

{
  "labels": {
    "KEY": "VALUE"
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Per saperne di più su come ottenere il risultato dell'operazione a lunga esecuzione (LRO), consulta Verificare il risultato.

Elenca i set di dati

Per elencare i set di dati per una determinata istanza, utilizza il metodo projects.locations.instances.datasets.list.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID: l'identificatore definito dall'utente per l'istanza

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "datasets": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "tableSpecs": {
        "party": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_TABLE",
        "account_party_link": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.ACCOUNT_PARTY_LINK_TABLE",
        "transaction": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.TRANSACTION_TABLE",
        "risk_case_event": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.RISK_CASE_EVENT_TABLE",
        "party_supplementary_data": "bq://PROJECT_ID.BQ_INPUT_DATASET_NAME.PARTY_SUPPLEMENTARY_DATA"
      },
      "state": "ACTIVE",
      "dateRange": {
        "start_time": "DATA_START_DATE",
        "end_time": "DATA_END_DATE"
      },
      "timeZone": {
        "id": "UTC"
      }
    }
  ]
}

Eliminazione di un set di dati

Per eliminare un set di dati, utilizza il metodo projects.locations.instances.datasets.delete.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID: l'identificatore definito dall'utente per l'istanza
  • DATASET_ID: l'identificatore definito dall'utente per il set di dati

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Per saperne di più su come ottenere il risultato dell'operazione a lunga esecuzione (LRO), consulta Verificare il risultato.