Todos los productos
Search
Centro de documentos

OpenSearch:Procesamiento de datos

Última actualización: Sep 23, 2026

Envía documentos por lotes a una aplicación de OpenSearch. Use la API de documentos masivos (bulk) para agregar, actualizar y eliminar documentos en una sola solicitud. Esto reduce la sobrecarga de red y mejora el throughput de indexación.

Cargar documentos

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una aplicación de OpenSearch que tenga como mínimo una tabla receptora de datos.

  • El nombre de la aplicación y el nombre de la tabla de destino.

  • Una firma de solicitud válida. Consulte V3 API Signature Mechanism para saber cómo calcular las cadenas de firma y configurar los encabezados de la solicitud.

Endpoint

POST /v3/openapi/apps/<app_name>/<table_name>/actions/bulk

Reemplace <app_name> con el nombre de su aplicación y <table_name> con el nombre de la tabla receptora de datos. La URL no incluye la dirección del host ni los encabezados de la solicitud.

Formato del cuerpo de la solicitud

El cuerpo de la solicitud es un arreglo JSON donde cada elemento representa una operación sobre un documento. Enviar varias operaciones en una sola solicitud reduce las llamadas de red y acelera la indexación. Por ello, se recomienda agruparlas por lotes siempre que sea posible.

Ejemplo para Premium Edition:

[
    {
        "cmd": "add",
        "timestamp": 1401342874777,
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "update",
        "timestamp": 1401342874778,
        "fields": {
            "id": "2",
            "title": "This is the new title"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]

Campos

Campo

Obligatorio

Descripción

cmd

Sí

Indica la operación que se va a ejecutar. Consulte Operaciones.

fields

Sí

Contiene los campos del documento. El campo de clave primaria siempre es obligatorio. Para la operación delete, solo se requiere la clave primaria.

timestamp

No

Marca de tiempo de la operación en milisegundos. OpenSearch la usa para resolver conflictos de orden cuando varias operaciones apuntan a la misma clave primaria. Si se omite, OpenSearch usa la hora en que recibe la solicitud. Exclusivo de Premium Edition: Standard Edition devuelve el código de error 4007 si se establece este campo.

Operaciones

Elija el valor de cmd según el comportamiento de idempotencia que necesite:

**Valor de cmd**

Comportamiento

Compatibilidad por edición

add

Agrega un documento. Si ya existe uno con la misma clave primaria, se elimina antes de agregar el nuevo.

Premium y Standard

delete

Elimina el documento con la clave primaria especificada. Si no hay coincidencias, la operación se considera exitosa de todos modos.

Premium y Standard

update

Actualiza campos específicos del documento que coincide con la clave primaria indicada.

Solo Premium

upsert

Actualiza el documento si la clave primaria existe; de lo contrario, agrega uno nuevo.

Solo Premium

Standard Edition no es compatible con update ni con upsert .

Para los campos de tipo arreglo, use un valor de arreglo JSON:

[{"cmd": "add", "fields": {"id": "0", "int_array": [14, 85], "string_array": ["abc", "xyz"]}}]

Ejemplo

Solicitud (se omiten los encabezados y la codificación):

POST http://<host>/v3/openapi/apps/app_schema_demo/tab/actions/bulk

[{"cmd":"ADD","fields":{"id":1,"name":"Test Data Push"}}]

Respuesta exitosa:

{
    "errors": [],
    "request_id": "150116724719940316170289",
    "status": "OK",
    "result": true
}

Respuesta con errores:

{
    "errors": [
        {
            "code": 2001,
            "message": "The application to be managed does not exist. The application to be managed does not exist.",
            "params": {
                "friendly_message": "The application to be managed does not exist."
            }
        }
    ],
    "request_id": "150116732819940316116461",
    "status": "FAIL"
}

Campos de la respuesta

Campo

Tipo

Descripción

status

string

Devuelve OK si se recibió la solicitud o FAIL si se rechazó.

result

string

Muestra true en las solicitudes exitosas. No se devuelve cuando la solicitud presenta errores.

request_id

string

Identificador de la solicitud, útil para solucionar problemas.

errors

array

Detalles de los errores cuando status es FAIL. Cada objeto de error contiene code (código de error), message (descripción del error) y params (parámetros adicionales). Consulte Error codes.

Notas de uso

Procesamiento asíncrono

El valor status: OK indica que OpenSearch recibió la solicitud, no que los documentos ya estén indexados. Este servicio procesa los datos de forma asíncrona. Revise periódicamente la consola de OpenSearch para detectar errores de procesamiento y preste especial atención al código de error 3007.

Límite de tamaño de la solicitud

El tamaño máximo del cuerpo de la solicitud antes de la codificación es de 2 MB. OpenSearch rechaza las solicitudes que superan este límite.

Codificación del cuerpo de la solicitud

Si el cuerpo de la solicitud contiene caracteres chinos, codifíquelo en UTF-8. Calcule el valor del encabezado Content-MD5 a partir del cuerpo codificado en UTF-8. Las solicitudes que no cumplan este requisito fallarán.

Diferenciación entre mayúsculas y minúsculas en los nombres de campo

Los nombres de los campos no distinguen entre mayúsculas y minúsculas cuando se envían datos mediante la API o el SDK.

Límites de frecuencia y tamaño

Los límites de frecuencia y tamaño para el envío de datos varían según el tipo de aplicación. Consulte System Limits.

Manejo de errores

Compruebe siempre el valor devuelto después de cargar los datos. Solucione los códigos de error de inmediato para evitar la pérdida de información.