Todos los productos
Search
Centro de documentos

OpenSearch:Actualización de datos

Última actualización: Sep 04, 2026

Carga y elimina documentos en una tabla de OpenSearch Vector Search Edition mediante una única solicitud masiva.

Conceptos básicos de la solicitud

Propiedad

Valor

Method

POST

Format

JSON

Endpoint path

/update/$table_name/actions/bulk

Establezca $table_name como {instance_id}_{table_name}. Por ejemplo, si el ID de la instancia es ha-843qfng6ydhb y el nombre de la tabla es test, use ha-843qfng6ydhb_test.

Encabezados de solicitud

Encabezado

Tipo

Descripción

authorization

String

Firma de autenticación. Formato: Basic <Base64-encoded-credentials>. Consulte Generar el encabezado de autorización.

X-Opensearch-Swift-PK-Field

String

Campo de clave principal de la tabla de índices. Ejemplo: id.

host

String

Endpoint de la instancia de OpenSearch. Puede encontrarlo en la sección API Endpoint de la página Instance Details. Ejemplo: ha-cn-**********.ha.aliyuncs.com.

Generación del encabezado de autorización

El valor del encabezado authorization es una cadena codificada en Base64 con el formato username:password.

Parámetros

Parámetro

Tipo

Descripción

accessUserName

String

Nombre de usuario. Puede encontrarlo en la sección API Endpoint de la página Instance Details.

accessPassWord

String

Contraseña. Puede modificarla en la sección API Endpoint de la página Instance Details.

Generación del valor

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);
    }
}

El código genera una cadena codificada en Base64 como cm9vdDp******mdhbA==.

Agregue el prefijo Basic al configurar el encabezado en su solicitud HTTP:

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

Cuerpo de la solicitud

El cuerpo de la solicitud es un arreglo JSON. Cada elemento representa una operación sobre un documento.

[
    {
        "cmd": "add",
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]

Campos

Campo

Obligatorio

Descripción

cmd

Sí

Operación por ejecutar. Valores válidos: add, delete. Agrupe varias operaciones en una sola solicitud para mejorar la eficiencia de la red y del procesamiento.

fields

Sí

Campos del documento sobre los que se aplicará la operación. Deben incluir el campo de clave principal, ya que OpenSearch identifica cada documento por este valor.

Comportamiento de cmd

Valor

Comportamiento

add

Carga el documento. Si ya existe un documento con la misma clave principal, se elimina el original antes de escribir el nuevo.

delete

Elimina el documento con la clave principal especificada. Si no existe ningún documento coincidente, la operación se completa correctamente.

Campos de tipo ARRAY

Especifique los campos de tipo ARRAY como arreglos JSON:

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

Ejemplo de solicitud

POST http://ha-cn-**********.ha.aliyuncs.com/update/$table_name/actions/bulk

Cuerpo de la solicitud:

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

Respuestas

Éxito

No se devuelve ningún cuerpo de respuesta cuando la operación es exitosa.

Error

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

Notas de uso

  • Los nombres de los campos no distinguen entre mayúsculas y minúsculas al enviar datos mediante la API o el SDK de OpenSearch.

  • Los límites de frecuencia de envío y tamaño de los datos varían según la aplicación. Consulte la documentación de límites correspondiente a su tipo de aplicación.

  • Después de enviar los datos, revise la respuesta en busca de códigos de error. El código de error 3007 requiere solución inmediata de problemas, ya que los errores de datos sin resolver pueden provocar pérdida de información. OpenSearch procesa los datos de forma asíncrona: una respuesta exitosa indica que se recibieron los datos, no que haya finalizado el procesamiento. Supervise la consola de OpenSearch para detectar errores de procesamiento.

  • El tamaño máximo del cuerpo de la solicitud antes de la codificación es de 2 MB. Las solicitudes que superen este límite se rechazarán.