Loading...

Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Lectura masiva de registros

La operación de lectura masiva puede leer miles de registros de una tabla específica en Data Store y generar un archivo CSV con los resultados de la operación de lectura, si el trabajo se ejecuta correctamente. Esta operación intensiva en datos se puede realizar en una sola ejecución de API.

Catalyst admite tres APIs para la operación de lectura masiva: una API para crear la lectura masiva, una API para verificar el estado de la lectura masiva para comprobar el estado de la ejecución del trabajo manualmente, y una API para descargar el resultado de la lectura masiva para descargar los resultados. También puedes configurar una URL de callback para habilitar la publicación automática de las respuestas de estado del trabajo en ella.

Nota: También puedes realizar la operación de lectura masiva usando Catalyst CLI. Consulta la documentación de CLI para importación y exportación de Data Store.

Crear un trabajo de lectura masiva

Descripción

Esta API activa la operación de lectura masiva para obtener los registros de la tabla en Data Store que coincidan con los criterios que especifiques en el JSON de entrada. La tabla se identifica usando su ID de tabla único o el nombre de la tabla.

Detalles de la solicitud

URL de solicitud

POST

{api-domain}/baas/v1/project/{projectId}/bulk/read

copy

api-domain
URL
El dominio específico del DC para acceder a Catalyst API

project_id
Numerical
El ID único del proyecto

Encabezados de solicitud

Authorization: Zoho-oauthtoken {oauth_token}

Encabezados opcionales

CATALYST-ORG: {org_id}

Environment: Development

Scope

ZohoCatalyst.tables.bulk.READ

Propiedades del JSON de solicitud

La entrada para la solicitud de la API de lectura masiva debe enviarse en formato JSON. Los parámetros de la solicitud se explican a continuación.

table_identifier string
mandatory
El ID único de la tabla o el nombre de la tabla. Puedes obtener el ID de la tabla desde Data Store o desde la URL cuando la tabla está abierta en la consola.
query json
optional

La sección donde puedes definir las condiciones y criterios para el trabajo de lectura masiva

page numerical
optional

El archivo CSV generado como resultado del proceso de lectura masiva contiene doscientos mil registros en una página.

El valor de página ‘1’ indica que los primeros doscientos mil registros que coincidan con tu consulta serán exportados. Puedes obtener registros subsiguientes aumentando el valor de página.

Por ejemplo, si deseas obtener registros del rango 200,001 a 400,000, debes especificar el valor de página como ‘2’.

Valor predeterminado: 1


select_columns array
optional

Columnas específicas en los registros que necesitan obtenerse de la tabla. Si no especificas las columnas, se seleccionarán y obtendrán todas las columnas.


Puedes incluir múltiples columnas en un array. Consulta la ventana de código de la solicitud de ejemplo.


criteria json
optional

Un conjunto de condiciones en base a las cuales se obtendrán los registros

group_operator string
mandatory (if specifying criteria)

El operador que vinculará los grupos de criterios entre sí.


Operadores compatibles: AND, OR


Si defines dos o más grupos de criterios, puedes usar el operador AND o OR en tu solicitud. Por ejemplo, puedes especificar un criterio como “column1 equal value 1 AND column2 contains value 2” en el formato especificado en la sección anterior.


Nota: No podrás usar combinaciones de ambos operadores en una sola solicitud de API. Puedes usar AND o OR en una solicitud.

group json
mandatory (if specifying criteria)

Puedes incluir hasta 25 conjuntos de criterios en esta sección. El ejemplo muestra 3 conjuntos de criterios.


Nota: Solo puedes incluir un grupo general con un operador de grupo en una sola solicitud de API.
column_name string
mandatory (if specifying criteria)
Nombre de la columna específica de la tabla para la cual se debe definir el criterio

comparator string
mandatory (if specifying criteria)

El operador de comparación que coincide el nombre de la columna con el valor del criterio


Comparadores compatibles: equal, not_equal, greater_than, greater_equal, less_than, less_equal, starts_with, ends_with, contains, not_contains, in, not_in, between, not_between


Nota:

  • Puedes especificar múltiples valores para los comparadores in y not_in, separados por comas.

  • Catalyst solo admite el comparador equal para una columna cifrada. No podrás usar otros comparadores como criterio para una columna cifrada.


value string
mandatory (if specifying criteria)
El valor para la columna específica en el registro que necesitas definir como criterio

callback json
optional

La sección donde puedes definir las propiedades de la URL de callback, donde se enviarán las respuestas JSON automáticas de los estados del trabajo

url string
mandatory (if specifying callback)

La URL donde se enviarán las respuestas automáticas usando el método HTTP POST, cada vez que cambie el estado del trabajo. La información sobre los detalles del trabajo estará contenida en el cuerpo de la respuesta JSON.


Si no configuras una URL de callback, debes verificar manualmente el estado del procesamiento del trabajo cuando lo necesites, usando la API para verificar el estado de la lectura masiva.


headers string
optional

Encabezados que necesitas que se pasen en la respuesta JSON a la URL de callback.


Debes especificar los encabezados como:
{
"{header_name_1}" : “{header_value_1}”,
"{header_name_2}" : “{header_value_2}”
}


y así sucesivamente. Consulta el código de la solicitud de ejemplo.


params string
optional

Parámetros que necesitas que se añadan a la URL de callback


Debes especificar los parámetros como:
{
"{param_name_1}" : “{param_value_1}”,
"{param_name_2}" : “{param_value_2}”
}


y así sucesivamente. Consulta el código de la solicitud de ejemplo.


Detalles de la respuesta

Hay tres estados de procesamiento del trabajo que generarán tres respuestas diferentes:

  • In-Progress: Cuando ejecutas la API, Catalyst te enviará inmediata y automáticamente una respuesta indicando que la ejecución del trabajo está en progreso. Si configuraste una URL de callback en la solicitud, la respuesta también se publicará en la URL en el formato que definiste.

    La respuesta contendrá un parámetro job_id que puedes usar para verificar el estado de la ejecución del trabajo en respuestas subsiguientes, si no configuraste una URL de callback.

  • Success: La respuesta del estado exitoso contendrá una URL de descarga, donde puedes descargar un archivo CSV que contiene los registros que coinciden con tu consulta. Si no configuraste una URL de callback, esta respuesta no será enviada por Catalyst automáticamente.

  • Failed: La respuesta del estado fallido contendrá una descripción del error ocurrido y los detalles. Si no configuraste una URL de callback, esta respuesta no será enviada por Catalyst automáticamente.

Sample Request
copy

curl -X POST
https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/read
-H “Authorization: Zoho-oauthtoken 1000.91016.2f*57”
-d ‘{ “table_identifier”: “EmpDetails”, “query” : { “page” : “1”, “select_columns” : [ “EmpID”, “EmpName”, “Department” ], “criteria”: { “group_operator”: “or”, “group”: [ { “column_name”: “Department”, “comparator”: “equal”, “value”: “Marketing” } , { “column_name”: “EmpID”, “comparator”: “greater_than”, “value”: “1000” } , { “column_name”: “EmpName”, “comparator”: “starts_with”, “value”: “S” } ] } }, “callback” : { “url” : “https://hr.zylker.com/es/EmpRecords/_callback.php", “headers” : { “src” : “ZCatalyst”, “operation” : “bulkreadAPI” }, “params” : { “project_name” : “EmployeeDatabase” } } }’

Sample Response: Job in Progress
copy
{
"status": "success",
"data": {
    "job_id": 2000000118004,
    "status": "In-Progress",
    "operation": "read",
    "project_details": {
         "project_name": "ShipmentTracking",
         "id": 4000000006007
     },
    "query": [
        {
            "table_id": 3376000000165541,
            "details": {
                "page": "1"
            }
        }
    ],
    "callback": {
        "url": "https://hr.zylker.com/es/EmpRecords/_callback.php",
        "headers": {
                  "src" : "ZCatalyst",
                  "operation" : "bulkreadAPI"
                          },
        "params": {
                  "project_name" : "EmployeeDatabase"
                         }
    },
    "created_by": {
        "zuid": 1019540152,
        "is_confirmed": true,
        "email_id": "emma@zylker.com",
        "first_name": "Amelia",
        "last_name": "Burrows",
        "user_id": 671930409
    },
    "created_time": "Oct 06, 2020 07:06 PM"
}

}

View more
Sample Response: Job Successful
copy
{
"status": "success",
"data": {
    "job_id": 2000000118004,
    "status": "In-Progress",
    "operation": "read",
    "project_details": {
         "project_name": "ShipmentTracking",
         "id": 4000000006007
     },
    "query": [
        {
            "table_id": 3376000000165541,
            "details": {
                "page": "1"
            }
        }
    ],
    "callback": {
        "url": "https://hr.zylker.com/es/EmpRecords/_callback.php",
        "headers": {
                  "src" : "ZCatalyst",
                  "operation" : "bulkreadAPI"
                          },
        "params": {
                  "project_name" : "EmployeeDatabase"
                         }
    },
    "created_by": {
        "zuid": 1019540152,
        "is_confirmed": true,
        "email_id": "emma@zylker.com",
        "first_name": "Amelia",
        "last_name": "Burrows",
        "user_id": 671930409
    },
    "created_time": "Oct 06, 2020 07:06 PM"
}

}

View more
Sample Response: Job Failed
copy
{
"status": "success",
"data": {
    "job_id": 2000000117007,
    "status": "Failed",
    "operation": "read",
    "project_details": {
         "project_name": "ShipmentTracking",
         "id": 4000000006007
     },
    "query": [
        {
            "table_id": 3376000000165541,
            "details": {
                "page": "1"
            }
        }
    ],
    "callback": {
        "url": "https://hr.zylker.com/es/EmpRecords/_callback.php",
         "headers": {
                  "src" : "ZCatalyst",
                  "operation" : "bulkreadAPI"
                          },
        "params": {
                   "project_name" : "EmployeeDatabase"
                         }
    },
    "created_by": {
        "zuid": 1019540152,
        "is_confirmed": true,
        "email_id": "emma@zylker.com",
        "first_name": "Amelia",
        "last_name": "Burrows",
        "user_id": 671930409
    },
    "created_time": "Oct 06, 2020 07:00 PM",
    "results": {
        "description": "The column ID in select_columns is invalid",
    }
}

}

View more