En esta página, se muestra cómo crear y administrar conjuntos de datos de IA contra el lavado de dinero. Se usa un conjunto de datos como entrada para las canalizaciones de entrenamiento, predicción y prueba inversa. Un conjunto de datos contiene referencias a las tablas de BigQuery en un proyecto de Google Cloud.
En este punto, solo necesitas crear el conjunto de datos. Los otros métodos de conjuntos de datos se proporcionan por conveniencia.
Antes de comenzar
-
Si quieres obtener los permisos que necesitas para crear y administrar conjuntos de datos, pídele a tu administrador que te otorgue el rol de IAM Administrador de servicios financieros (
financialservices.admin
) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Cómo administrar el acceso.Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.
- Crea una instancia
Crea un conjunto de datos
Algunos métodos de la API muestran una operación de larga duración (LRO). Estos métodos son asíncronos. Es posible que la operación no se complete cuando el método muestra una respuesta. Para estos métodos, envía la solicitud y, luego, comprueba el resultado.
Envía la solicitud
Para crear un conjunto de datos, usa el método projects.locations.instances.datasets.create
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaDATASET_ID
: Es un identificador definido por el usuario para el conjunto de datos de IA contra el lavado de dinero. Usa solo letras minúsculas, números, guiones y guiones bajos (por ejemplo,train_jan2018_apr2020
).BQ_INPUT_DATASET_NAME
: Es el nombre del conjunto de datos de entrada de BigQuery.PARTY_TABLE
: La tabla Party en el conjunto de datos de entrada de BigQueryACCOUNT_PARTY_LINK_TABLE
: Es la tabla AccountPartyLink en el conjunto de datos de entrada de BigQuery.TRANSACTION_TABLE
: Es la tabla Transaction del conjunto de datos de entrada de BigQuery.RISK_CASE_EVENT_TABLE
: La tabla RiskCaseEvent en el conjunto de datos de entrada de BigQueryPARTY_SUPPLEMENTARY_DATA
: Es la tabla PartySupplementaryData en el conjunto de datos de entrada de BigQuery; esta tabla es opcional y se puede quitar de la solicitud JSON.DATA_START_DATE
: Es la fecha y hora de inicio de los datos que se usarán en el conjunto de datos. Usa el formato RFC3339 UTC “Zulú” (por ejemplo,2014-10-02T15:01:23Z
).DATA_END_DATE
: Es la fecha y hora de finalización de los datos que se usarán en el conjunto de datos. Usa el formato “Zulú” RFC3339 UTC (por ejemplo,2014-10-02T15:01:23Z
)
Cuerpo JSON de la solicitud:
{ "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" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
cat > request.json << 'EOF' { "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" } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets?dataset_id=DATASET_ID"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
@' { "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" } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets?dataset_id=DATASET_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 }
Comprueba el resultado
Usa el método projects.locations.operations.get
para verificar si se creó el conjunto de datos. Si la respuesta contiene "done": false
, repite el comando hasta que la respuesta contenga "done": true
.
Estas operaciones pueden tardar entre unos minutos y varias horas en completarse.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: Es el identificador de la operación.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } }
Métodos opcionales
Los siguientes métodos de conjuntos de datos se proporcionan para tu conveniencia.
Obtén un conjunto de datos
Para obtener un conjunto de datos, usa el método projects.locations.instances.datasets.get
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaDATASET_ID
: Es el identificador definido por el usuario para el conjunto de datos.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } }
Actualiza un conjunto de datos
Para actualizar un conjunto de datos, usa el método projects.locations.instances.datasets.patch
.
No todos los campos de un conjunto de datos se pueden actualizar. En el siguiente ejemplo, se actualizan las etiquetas de usuario del par clave-valor asociadas con el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: Un identificador definido por el usuario para la instanciaDATASET_ID
: Es el identificador definido por el usuario para el conjunto de datos.KEY
: Es la clave de un par clave-valor que se usa para organizar conjuntos de datos. Consultalabels
para obtener más información.VALUE
: Es el valor de un par clave-valor que se usa para organizar los conjuntos de datos. Consultalabels
para obtener más información.
Cuerpo JSON de la solicitud:
{ "labels": { "KEY": "VALUE" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
cat > request.json << 'EOF' { "labels": { "KEY": "VALUE" } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID?updateMask=labels"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
@' { "labels": { "KEY": "VALUE" } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID?updateMask=labels" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 }
Si quieres obtener más información para obtener el resultado de la operación de larga duración (LRO), consulta Verifica el resultado.
Genera una lista de los conjuntos de datos
Para enumerar los conjuntos de datos de una instancia determinada, usa el método projects.locations.instances.datasets.list
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instancia
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } ] }
Borra un conjunto de datos
Para borrar un conjunto de datos, usa el método projects.locations.instances.datasets.delete
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaDATASET_ID
: Es el identificador definido por el usuario para el conjunto de datos.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/DATASET_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 }
Si quieres obtener más información para obtener el resultado de la operación de larga duración (LRO), consulta Verifica el resultado.