完成安装嬴图Node.js SDK,设置一个运行的嬴图实例后,可以开始将您的应用连接到嬴图图数据库。
ConnectionPool
可以使用ConnectionPool
来建立与 Ultipa 的连接,该连接池指定所需的连接池信息。
以下是ConnectionPool
的所有可用配置项:
项目 |
类型 |
描述 |
---|---|---|
hosts |
string[] | 数据库主机地址或主机 URI(不包括"https://"或"http://")。对于集群,多个地址用逗号分隔,必填。 |
username |
string | 主机认证的用户名,必填。 |
password |
string | 主机认证的密码,必填。 |
crt |
Buffer | 设置本地证书文件路径,连接将使用 SSL。 |
defaultConfig |
ULTIPA.UltipaConfig | 其他配置,包括图集设置、超时和一致性设置。 |
otherParams |
object | 包含两个键:isHttps and isHttp ,均为布尔值。如果两者都设置为true ,优先使用HTTP。如果未指定,连接将优先尝试HTTP,若HTTP 连接失败,则切换到 HTTPS。 |
连接到集群
连接到集群并使用图集“default”的示例。
import { ConnectionPool } from "@ultipa-graph/ultipa-node-sdk";
import fs from "fs";
let sdkUsage = async () => {
let hosts = [
"192.168.1.85:60061",
"192.168.1.86:60061",
"192.168.1.87:60061"
];
let username = "***";
let password = "***";
let crt: Buffer;
{ // 使用证书 (Crt)
let crt_file_path = "./ultipa.crt";
crt = fs.readFileSync(crt_file_path);
}
let connPool = new ConnectionPool(hosts, username, password, crt);
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
};
sdkUsage().then(console.log).catch(console.log);
连接到嬴图Cloud
连接到嬴图Cloud实例并使用图集“default”的示例。
import { ConnectionPool } from "@ultipa-graph/ultipa-node-sdk";
let sdkUsage = async () => {
let hosts = ["3xbotdjas.us-east-1.cloud.ultipa.com:60010"];
let username = "***";
let password = "***";
let otherParams = {
isHttps: true,
isHttp: false
};
let connPool = new ConnectionPool(hosts, username, password, undefined, undefined, otherParams);
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
};
sdkUsage().then(console.log).catch(console.log);
Configuration Items
以下是UltipaConfig
的所有可用配置项:
项目 |
类型 |
描述 |
---|---|---|
graphSetName |
string | 要使用的图集名称。如果未设置,则使用建立连接时配置的 graphSetName 。 |
timeout |
number | 请求的超时阈值(以秒为单位)。 |
consistency |
boolean | 是否使用主节点以确保一致性读取。 |
useHost |
string | 将请求发送到指定的主机节点,若未设置则随机选择主机节点。 |
clusterID |
string | 指定要使用的集群。 |
timeZone |
string | 要使用的时区。 |
timeZoneOffset |
number | 使用的时区与UTC的时差(以分钟为单位)。 |
timestampToString |
boolean | 是否将时间戳转换为字符串。 |
logUql |
boolean | 是否打印UQL。 |
threadNum |
number | 线程数量。 |
responseWithRequestInfo |
boolean | 是否在响应中包含请求信息。 |