After installing the Ultipa Go SDK and setting up a running Ultipa instance, you should be able to connect your application to the Ultipa graph database.
Code Configuration Connection
Connect to a Cluster
func TestMisc(t *testing.T) {
config := configuration.NewUltipaConfig(&configuration.UltipaConfig{
Hosts: []string{"192.168.1.85:60061", "192.168.1.86:60061", "192.168.1.87:60061"},
Username: "***",
Password: "***",
})
conn, _ := sdk.NewUltipa(config)
testResult, _ := conn.Test()
println(testResult)
}
Connect to Ultipa Cloud
func GetClient1(hosts []string, graphName string) (*api.UltipaAPI, error) {
var err error
config, _ := configuration.NewUltipaConfig(&configuration.UltipaConfig{
Hosts: []string{"xaznryn5s.us-east-1.cloud.ultipa.com:60010"},
Username: "***",
Password: "***",
DefaultGraph: "Sample_Graphset",
Debug: true,
})
client, err = sdk.NewUltipa(config)
if err != nil {
log.Fatalln(err)
}
return client, err
}
Configuration Items
Below are all the configuration items available for UltipaConfig:
Item |
Type |
Default |
Description |
|---|---|---|---|
| Hosts | []string | Database host addresses or URI (excluding https:// or http://). For clusters, multiple addresses are separated by commas. Required. |
|
| Username | string | Username of the host authentication. Required. | |
| Password | string | Password of the host authentication. Required. | |
| PasswordEncrypt | string | MD5 | Password encryption method of the driver. Supports MD5, LDAP and NOTHING. NOTHING is used when the content is blank. |
| DefaultGraph | string | Name of the graph in the database to use by default. | |
| Crt | []byte | Certificate file for encrypted messages. | |
| MaxRecvSize | int | 10MB | Maximum size in megabytes when receiving data. |
| Consistency | bool | FALSE | Whether to use the leader node to ensure consistency read. |
| CurrentGraph | string | default | Name of the current graphset. |
| CurrentClusterId | string | Cluster ID of the nameserver. | |
| Timeout | int32 | 1000 | Request timeout threshold in seconds. |
| Debug | bool | FALSE | Whether to use the debug mode. |
| HeartBeat | int | 0 | Heartbeat interval in milliseconds for all instances, set 0 to disable heartbeat. |
YAML Configuration File
A YAML configuration file stores the necessary server information for connecting to the Ultipa graph database.
| Variable in YAML | Item in UltipaConfig |
|---|---|
| hosts | Hosts |
| username | Username |
| password | Password |
| default_graph | DefaultGraph |
| crt | Crt |
| max_recv_size | MaxRecvSize |
| consistency | Consistency |
| current_graph | CurrentGraph |
| current_cluster_id | CurrentClusterId |
| timeout | Timeout |
| debug | Debug |
| heart_beat | HeartBeat |
A driver is created with the configurations specified using the YAML file. The YAML file should be placed under the path of current Go file.
Example of a YAML configuration file 'testConfig.yml':
hosts:
- "192.168.1.85:60061"
- "192.168.1.86:60061"
- "192.168.1.87:60061"
username: ***
password: ***
default_graph: amz
timeout:: 300
func TestMisc(t *testing.T) {
config, _ := configuration.LoadConfigFromYAML("./testConfig.yml")
conn, _ := sdk.NewUltipa(config)
testResult, _ := conn.Test()
println(testResult)
}