Tous les produits
Search
Centre de documentation

OpenSearch:data processing

Dernière mise à jour :Aug 20, 2026

Utilisez l'API bulk pour ajouter, mettre à jour et supprimer des documents dans votre application OpenSearch.

Envoi de documents

Cette API permet d'ajouter, de mettre à jour et de supprimer des documents, y compris via des opérations par lot.

  • URL

    /v3/openapi/apps/$app_name/$table_name/actions/bulk
    • $app_name : nom de votre application.

    • $table_name : nom de la table vers laquelle vous souhaitez envoyer les données.

    • L'URL ci-dessus omet les paramètres d'en-tête de requête et les détails d'encodage.

    • L'URL ci-dessus omet l'adresse hôte de l'application.

Format pris en charge : JSON

Méthode de requête HTTP : POST

Paramètres de requête

Pour plus d'informations sur la signature des requêtes et les en-têtes, consultez la rubrique Mécanisme de signature de l'API v3.

Format des données du document

L'exemple suivant illustre le format des données :

[
    {
        "cmd": "add",
        "timestamp": 1401342874777,
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "2"
        }
    }
]
  • cmd : Obligatoire. Opération à effectuer sur le document. Valeurs valides : add et delete. Vous pouvez regrouper plusieurs mises à jour dans une seule requête pour optimiser l'efficacité du réseau. L'opération add ajoute un nouveau document. Si un document possédant la même clé primaire existe déjà, le système le supprime avant d'ajouter le nouveau. L'opération delete supprime un document. Si aucun document ne correspond à la clé primaire spécifiée, l'opération est tout de même considérée comme réussie.

  • fields : Obligatoire. Contenu du document. Le champ de clé primaire est requis car toutes les opérations système s'appuient sur cette clé. Pour une opération de suppression, seule la clé primaire est nécessaire.

  • Pour les types Array, utilisez un JsonArray. Par exemple : [{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "ADD"}].

  • Remarque : L'élément de niveau supérieur est un JsonArray qui prend en charge les opérations par lot sur plusieurs documents.

Résultat renvoyé

Paramètre

Type

Description

errors

array

Détails de l'erreur. message : message d'erreur. params : paramètres d'erreur. code : code d'erreur.

request_id

string

ID de la requête. Utilisez cet ID pour le dépannage.

status

string

Résultat de l'opération. OK indique un succès. FAIL indique un échec. En cas d'échec, déboguez l'opération en vous basant sur le code d'erreur renvoyé.

result

string

Renvoyé uniquement en cas de succès. La valeur est true.

Exemples

Exemple de requête (les paramètres d'en-tête de requête et les détails d'encodage sont omis) :

http://host/v3/openapi/apps/app_schema_demo/tab/actions/bulk

// Place the following data in the request body
[{"cmd":"ADD","fields":{"id":1,"name":"Test Data Push"}}]

Réponse en cas de succès

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

Réponse en cas d'erreur

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

Notes

  • Lorsque vous envoyez des données via une API ou un SDK, les noms de champs dans l'application ne sont pas sensibles à la casse.

  • La fréquence et la taille des envois de données sont soumises à des limites qui varient selon l'application. Pour plus d'informations, consultez la rubrique Limites.

  • Après avoir envoyé les données, vérifiez la valeur de retour. Pour éviter toute perte de données, relancez l'opération si certains codes d'erreur sont renvoyés, tels que le code 3007. Le traitement des données est asynchrone. Une valeur de retour « OK » indique uniquement que le système a reçu les données. Les erreurs survenues lors du traitement apparaissent dans la console. Vérifiez régulièrement la console pour consulter les messages d'erreur.

  • La taille des données dans une requête POST est limitée. Si la taille totale des documents envoyés dépasse 2 Mo avant encodage, le serveur rejette la requête et renvoie une erreur.

  • Si le corps d'une requête POST contient des caractères chinois, vous devez encoder les données en UTF-8. Vous devez également encoder les données en UTF-8 avant de calculer la valeur MD5 pour l'en-tête Content-MD5. Sinon, l'envoi échoue.