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.
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
{api-domain}/baas/v1/project/{projectId}/bulk/read
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.
La sección donde puedes definir las condiciones y criterios para el trabajo de lectura masiva
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
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.
Un conjunto de condiciones en base a las cuales se obtendrán los registros
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.
Puedes incluir hasta 25 conjuntos de criterios en esta sección. El ejemplo muestra 3 conjuntos de criterios.
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.
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
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.
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.
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.
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”
}
}
}’
{
"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"
}
}
{
"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"
}
}
{
"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",
}
}
}
Yes
No
Send your feedback to us