Tous les méthodes de requête prennent en charge un paramètre de configuration de requête optionnel (RequestConfig
ou InsertRequestConfig
) pour personnaliser le comportement des requêtes faites à 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 selon 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.
from ultipa import Connection, UltipaConfig
from ultipa.configuration.RequestConfig import RequestConfig
ultipaConfig = UltipaConfig()
# Exemple d'URI : ultipaConfig.hosts = ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
ultipaConfig.hosts = ["192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"]
ultipaConfig.username = "<username>"
ultipaConfig.password = "<password>"
ultipaConfig.defaultGraph = "default"
Conn = Connection.NewConnection(defaultConfig=ultipaConfig)
requestConfig = RequestConfig(graphName = "UltipaTeam")
schemas = Conn.showSchema(requestConfig)
for schema in schemas:
print(schema.name, "type:", schema.DBType, "total", schema.total)
RequestConfig
a les champs suivants :
Champ |
Type |
Par défaut |
Description |
---|---|---|---|
graphName |
str | Nom du graph à utiliser, ou le defaultGraph configuré lors de l'établissement de la connexion si non défini. |
|
timeoutWithSeconds |
int | 3600 | Délai d'attente en secondes pour la requête, ou le timeoutWithSeconds configuré lors de l'établissement de la connexion si non défini. |
useHost |
str | Envoie la requête à un node hôte désigné, ou à un node hôte aléatoire si non défini. | |
useMaster |
bool | false | Envoie la requête au node leader pour garantir une lecture cohérente si défini sur true. |
threadNum |
int | Nombre de threads. | |
retry |
Retry | Nombre de tentatives, incluant current et max . |
|
timeZone |
str | Fuseau horaire au format standard, ou le timeZone configuré lors de l'établissement de la connexion si non défini. |
|
timeZoneOffset |
int/str | Distance du fuseau horaire cible par rapport à l'UTC, soit en secondes (si un entier) soit une chaîne de 5 caractères comme +0700 et -0430 ; ou le timeZoneOffset configuré lors de l'établissement de la connexion si non défini. |
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.
from ultipa.configuration.InsertRequestConfig import InsertRequestConfig
from ultipa import Connection, UltipaConfig, Node
from ultipa.structs import InsertType
ultipaConfig = UltipaConfig()
# Exemple d'URI : ultipaConfig.hosts = ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
ultipaConfig.hosts = ["192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"]
ultipaConfig.username = "<username>"
ultipaConfig.password = "<password>"
Conn = Connection.NewConnection(defaultConfig=ultipaConfig)
# Spécifie 'test' comme le graphique cible et définit le mode d'insertion sur OVERWRITE
insertRequestConfig = InsertRequestConfig(
insertType=InsertType.OVERWRITE,
graphName="test"
)
nodes = [
Node(schema="client", id="CLIENT00001"),
Node(schema="card", id="CARD00004")
]
Conn.insertNodesBatchAuto(nodes, insertRequestConfig)
InsertRequestConfig
a les champs suivants :
Champ |
Type |
Par défaut |
Description |
---|---|---|---|
graphName |
str | Nom du graph à utiliser, ou le defaultGraph configuré lors de l'établissement de la connexion si non défini. |
|
timeout |
int | 3600 | Délai d'attente en secondes pour la requête, ou le timeout configuré lors de l'établissement de la connexion si non défini. |
retry |
Retry | Nombre de tentatives, incluant current et max . |
|
useHost |
str | Envoie la requête à un node hôte désigné, ou à un node hôte aléatoire si non défini. | |
useMaster |
bool | False | Envoie la requête au node leader pour garantir une lecture cohérente si défini sur true. |
insertType |
InsertType | NORMAL |
Mode d'insertion (NORMAL , UPSERT , OVERWRITE ) |
silent |
bool | True | Indique de rester silencieux après une insertion réussie, c.-à-d., si les nodes ou edges insérés sont retournés ou non. |
createNodeIfNotExist |
bool | False | Indique s'il faut créer les nodes de début/fin d'un edge si les nodes finaux n'existent pas dans le graph. |
timeZone |
str | Fuseau horaire au format standard, ou le timeZone configuré lors de l'établissement de la connexion si non défini. |
|
timeZoneOffset |
int/str | Distance du fuseau horaire cible par rapport à l'UTC, soit en secondes (si un entier) soit une chaîne de 5 caractères comme +0700 et -0430 ; ou le timeZoneOffset configuré lors de l'établissement de la connexion si non défini. |