Todos los productos
Search
Centro de documentos

OpenSearch:Process data

Última actualización: Sep 04, 2026

La API masiva permite agregar, actualizar o eliminar varios documentos en una sola solicitud. Agrupar las operaciones reduce los viajes de ida y vuelta y mejora el rendimiento; por lo tanto, se recomienda enviar múltiples operaciones juntas siempre que sea posible.

Requisitos previos

Antes de empezar, asegúrese de contar con:

Carga de documentos

Endpoint

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

Marcador de posición

Descripción

<app_name>

Nombre de su aplicación

<table_name>

Nombre de la tabla que recibe los datos

El endpoint omite el host, los encabezados de la solicitud y los detalles de codificación. Para consultar el formato completo de la solicitud, revise Método de firma de la API V3 de OpenSearch.

Formato de solicitud: JSON

Método HTTP: POST

Cuerpo de la solicitud

El cuerpo de la solicitud es un arreglo JSON. Cada elemento representa una operación de documento y contiene los siguientes campos.

cmd (obligatorio)

Indica la operación por ejecutar. Valores válidos: add, update, delete.

La operación update no es compatible con aplicaciones estándar. Utilice add en su lugar.

add

Crea un documento. Si ya existe un documento con la misma clave principal, OpenSearch elimina el original antes de crear el nuevo.

{
  "cmd": "add",
  "fields": {
    "id": "1",
    "title": "This is the title",
    "body": "This is the body"
  }
}

update

Actualiza los campos especificados en un documento existente. Solo se modifican los campos que se incluyen en la solicitud.

{
  "cmd": "update",
  "fields": {
    "id": "2",
    "title": "This is the new title"
  }
}

delete

Elimina el documento con la clave principal especificada. Si no existe ningún documento con dicha clave principal, la operación de eliminación se ejecuta de todos modos.

{
  "cmd": "delete",
  "fields": {
    "id": "3"
  }
}

fields (obligatorio)

Son los campos del documento sobre los que se realizará la operación. Incluya siempre el campo de clave principal, ya que OpenSearch lo utiliza para identificar el documento.

Para una operación de delete, solo es obligatorio el campo de clave principal.

En los campos de tipo ARRAY, especifique el valor como un arreglo JSON:

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

timestamp (opcional, solo para aplicaciones avanzadas)

Representa la hora en que se realizó la operación, expresada en milisegundos. OpenSearch usa este valor para determinar el orden de las operaciones sobre la misma clave principal.

Si se omite, OpenSearch utiliza la hora en que recibe la solicitud.

Las aplicaciones estándar no admiten el parámetro timestamp . Si lo incluye en una solicitud dirigida a una aplicación estándar, OpenSearch devolverá el código de error 4007 .

Ejemplo de solicitud

A continuación se muestra un ejemplo que agrupa tres operaciones (agregar, actualizar y eliminar) en una sola solicitud. Todos los ejemplos utilizan el formato de arreglo JSON en el nivel más externo.

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

Cuerpo de la solicitud:

[
  {
    "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"
    }
  }
]

Respuesta

Compruebe primero el campo status. Si el valor de status es FAIL, revise errors para obtener más detalles.

Parámetro

Tipo

Descripción

status

STRING

OK si la solicitud se recibió correctamente; FAIL si la solicitud falló

result

STRING

true para solicitudes exitosas; no se devuelve en caso de error

request_id

STRING

ID único de la solicitud para fines de solución de problemas

errors

STRING

Detalles del error. Cada error incluye: code (código de error), message (descripción del error) y params (parámetros adicionales). Consulte Error codes

Respuesta exitosa

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

Respuesta de error

{
  "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"
}

Notas de uso

  • Compruebe el valor devuelto después de cada solicitud. Un valor status igual a OK indica que OpenSearch recibió los datos, pero no garantiza que se hayan procesado correctamente. El procesamiento de datos en OpenSearch es asíncrono. Si ocurre un error durante el procesamiento, el mensaje correspondiente aparecerá en la consola de OpenSearch. Revise la consola periódicamente y preste especial atención al código de error 3007.

  • Límite de tamaño de la solicitud: El cuerpo de la solicitud no debe exceder los 2 MB antes de la codificación. Las solicitudes que superen este límite serán rechazadas. Puede insertar datos un número limitado de veces y con un tamaño restringido mediante llamadas a la API o a través del SDK de OpenSearch. Para conocer los límites de frecuencia y volumen de inserción según el tipo de aplicación, consulte Limits.

  • Codificación UTF-8 para caracteres chinos: Si el cuerpo de la solicitud contiene caracteres chinos, debe codificarse en UTF-8. Asimismo, el valor del encabezado Content-MD5 debe calcularse a partir del cuerpo codificado en UTF-8.