Todos los productos
Search
Centro de documentos

OpenSearch:API de datos

Última actualización: Sep 04, 2026

URL

/update/$table_name/actions/bulk

  • $table_name es ID de instancia_nombre de tabla. Por ejemplo, si el ID de la instancia es ha-843qfng6ydhb y el nombre de la tabla es test, entonces table_name es ha-843qfng6ydhb_test.

  • La URL anterior omite factores como los parámetros del encabezado de solicitud y la codificación.

  • La URL anterior omite la dirección del host para acceder a la aplicación.

Formato compatible

JSON

Método de solicitud HTTP

POST

Parámetros de encabezado

Parámetro

Tipo

Descripción

authorization

string

Firma

X-Opensearch-Swift-PK-Field

string

Clave principal de la tabla de índice que se va a insertar. Ejemplo: id

host

string

Host de la solicitud. Puede consultarlo en Instance Details > API Endpoint > API Domain. Ejemplo: ha-cn-.ha.aliyuncs.com

Mecanismo de firma

Utilice el siguiente método para calcular la firma ( authorization)

Parámetro

Tipo

Descripción

accessUserName

string

Nombre de usuario. Puede consultarlo en la página de detalles de la instancia > Network Information.

accessPassWord

string

Contraseña. Puede modificarla en la página de detalles de la instancia > Network Information.

import com.aliyun.darabonba.encode.Encoder;
import com.aliyun.darabonbastring.Client;

public class GenerateAuthorization {

 public static void main(String[] args) throws Exception {
 String accessUserName = "username";
 String accessPassWord = "password";
 String realmStr = "" + accessUserName + ":" + accessPassWord + "";
 String authorization = Encoder.base64EncodeToString(Client.toBytes(realmStr, "UTF-8"));
 System.out.println(authorization);
		}
}

Formato de retorno correcto para authorization

cm9vdDp******mdhbA==

Nota: Al establecer el parámetro authorization en una solicitud HTTP, debe agregar el prefijo Basic.

Ejemplo:

authorization: Basic cm9vdDp******mdhbA==

Formato de datos del documento (body)

[
    {
        "cmd": "add",
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]
  • cmd: Obligatorio. Define la operación del documento, que puede ser "add" o "delete". Se recomienda actualizar por lotes en una sola solicitud para mejorar la interacción de red y la eficiencia de procesamiento. "add" indica la adición de un documento. Si ya existe un documento con la misma clave principal, primero se ejecuta "delete" y luego "add". "delete" indica la eliminación de un documento. Si el documento con la clave principal correspondiente ya no existe, la eliminación se considera correcta.

  • fields: Obligatorio. Contenido del documento que se va a operar. La columna de clave principal es obligatoria, ya que todas las operaciones del sistema se basan en ella. Para "delete", solo necesita proporcionar la clave principal del documento.

  • Para el tipo Array, utilice JsonArray, como [{"fields": { "id": "0","int_array": [14.85],"string_array": ["abc","xyz"]},"cmd": "add"}].

  • Nota: La capa más externa es de tipo JsonArray, lo cual permite operaciones por lotes en varios documentos.

Ejemplo

Solicitud: (Aquí se omiten factores como los parámetros del encabezado de solicitud y la codificación).

http://ha-cn-.ha.aliyuncs.com/update/$table_name/actions/bulk //Los siguientes datos que se van a cargar deben colocarse en el body [{ "cmd": "add", "fields": { "id": 1, "name": "Test Data Push" } }]

Respuesta correcta

La ausencia de parámetros de retorno indica que la inserción fue correcta.

Respuesta de error

[
    {
        "code": 3012,
        "message": "Resource not found."
    }
]

Notas

  • Al utilizar la API o el SDK para insertar datos, los nombres de las columnas de la aplicación no distinguen entre mayúsculas y minúsculas.

  • Existen límites de cantidad y tamaño al usar la API o el SDK para insertar datos. Estos límites varían según la aplicación. Para obtener más información, consulte las descripciones de límites del sistema.

  • Después de cargar datos, asegúrese de comprobar el valor de retorno y reintentar los códigos de error relevantes (especialmente el error 3007). De lo contrario, podría producirse una pérdida de datos. Además, el procesamiento de datos es asíncrono. Un retorno de "OK" solo indica que el sistema recibió correctamente los datos. Los errores durante el procesamiento se muestran en los mensajes de error de la consola, por lo que debe revisarlos oportunamente.

  • Existe un límite de tamaño para los datos POST. Si el volumen total de documentos que carga es demasiado grande (2 MB antes de la codificación), el servidor rechazará todos los parámetros y devolverá una excepción.