Toutes les méthodes de requête prennent en charge un paramètre de configuration de requête facultatif (RequestConfig
ou InsertRequestConfig
) pour personnaliser le comportement des requêtes effectuées sur la base de données. Ce paramètre vous permet de spécifier divers paramètres, tels que le nom du graphset, le délai d'attente et l'hôte, afin d'adapter vos requêtes en fonction de vos besoins.
RequestConfig
RequestConfig
définit les paramètres nécessaires lors de l'envoi de requêtes non-insertion à la base de données.
import { ConnectionPool } from "@ultipa-graph/ultipa-node-sdk";
import { RequestType } from "@ultipa-graph/ultipa-node-sdk/dist/types";
let sdkUsage = async () => {
//Exemple d'URI : hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
let hosts = [
"192.168.1.85:60061",
"192.168.1.86:60061",
"192.168.1.87:60061"
];
let username = "***";
let password = "***";
let connPool = new ConnectionPool(hosts, username, password);
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
// Spécifie 'amz' comme graphset cible et définit l'utilisation du noeud leader du cluster
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "amz",
useMaster: true,
};
let uqlResult = await conn.uql(`find().nodes([1]) as n return n.name`, requestConfig);
console.log(uqlResult.data?.alias("n.name").asAttrs());
};
sdkUsage().then(console.log).catch(console.log);
RequestConfig
a les champs suivants :
Item |
Type |
Description |
---|---|---|
graphSetName |
string | Nom du graph à utiliser. Si non défini, utilise le graphSetName configuré lors de l'établissement de la connexion. |
timeout |
number | Seuil de délai d'attente de la requête en secondes. |
clusterID |
string | Spécifie le cluster à utiliser. |
timeZone |
string | Le fuseau horaire à utiliser. |
timeZoneOffset |
number | La différence de temps entre le fuseau horaire utilisé et l'UTC en minutes. |
timestampToString |
boolean | Convertir ou non le timestamp en chaîne. |
threadNum |
number | Nombre de threads. |
stream |
Stream | Retourne le résultat en stream. |
retry |
object | Configuration de la répétition en cas d'échec de la requête. Deux clés sont disponibles : current et max , toutes deux de type nombre. |
useHost |
string | Envoie la requête à un noeud hôte désigné, ou à un noeud hôte aléatoire si non défini. |
useMaster |
boolean | Envoie la requête au noeud leader pour garantir une lecture cohérente si défini à true. |
package_limit |
number | Limite du nombre de paquets retournés. |
forceRefresh |
boolean | Mettre à jour les informations du cluster. |
logUql |
boolean | Imprimer ou non le UQL. |
InsertRequestConfig
InsertRequestConfig
définit les paramètres nécessaires lors de l'envoi de requêtes d'insertion ou de suppression de données à la base de données.
import { ConnectionPool, ULTIPA } from "@ultipa-graph/ultipa-node-sdk";
import { RequestType } from "@ultipa-graph/ultipa-node-sdk/dist/types";
let sdkUsage = async () => {
//Exemple d'URI : hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
let hosts = [
"192.168.1.85:60061",
"192.168.1.86:60061",
"192.168.1.87:60061"
];
let username = "***";
let password = "***";
let connPool = new ConnectionPool(hosts, username, password);
// Se connecte au graphset 'default'
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
let node1 = new ULTIPA.Node();
node1.schema = "card";
node1.id = "ULTIPA8000000000000001";
node1.values = {balance: Number(3235.2)};
let node2 = new ULTIPA.Node();
node2.schema = "client";
node2.id = "ULTIPA800000000000000B";
node2.values = {level: Number(7)};
let nodes = [node1, node2];
// Insère les deux noeuds ci-dessus dans le graphset 'test' en mode écrasement
let insertRequestConfig = <RequestType.InsertRequestConfig>{
graphSetName: "test",
insertType: ULTIPA.InsertType.INSERT_TYPE_OVERWRITE,
};
let uqlResult = await conn.insertNodesBatchAuto(nodes, insertRequestConfig);
console.log(uqlResult.status.code);
};
sdkUsage().then(console.log).catch(console.log);
InsertRequestConfig
a les champs suivants :
Item |
Type |
Description |
---|---|---|
graphSetName |
string[] | Nom du graph à utiliser. Si non défini, utilise le graphSetName configuré lors de l'établissement de la connexion. |
timeout |
number | Seuil de délai d'attente de la requête en secondes. |
clusterID |
string | Spécifie le cluster à utiliser. |
timeZone |
string | Le fuseau horaire à utiliser. |
timeZoneOffset |
number | La différence de temps entre le fuseau horaire utilisé et l'UTC en minutes. |
timestampToString |
boolean | Convertir ou non le timestamp en chaîne. |
threadNum |
number | Nombre de threads. |
stream |
Stream | Retourne le résultat en stream. |
retry |
object | Configuration de la répétition en cas d'échec de la requête. Deux clés sont disponibles : current et max , toutes deux de type nombre. |
useHost |
string | Envoie la requête à un noeud hôte désigné, ou à un noeud hôte aléatoire si non défini. |
useMaster |
boolean | Envoie la requête au noeud leader pour garantir une lecture cohérente si défini à true. |
package_limit |
number | Limite du nombre de paquets retournés. |
forceRefresh |
boolean | Mettre à jour les informations du cluster. |
logUql |
boolean | Imprimer ou non le UQL. |
insertType |
ULTIPA.InsertType | Mode d'insertion (INSERT_TYPE_NORMAL, INSERT_TYPE_UPSERT, INSERT_TYPE_OVERWRITE). |
createNodeIfNotExist |
boolean | Créer les noeuds début/fin d'un edge si les noeuds de fin n'existent pas dans le graph. |
silent |
boolean | Rester silencieux après une insertion réussie. Retourne _id et _uuid des nouvelles données insérées lorsqu'il est défini sur false. |