Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      Gestion des Accès

      Cette section présente les méthodes sur un objet Connection pour gérer l'accès à l'instance et aux graphsets qui s'y trouvent, y compris les privilèges, les stratégies et les utilisateurs.

      Chaque exemple se concentre uniquement sur l'utilisation de la méthode. Pour un exemple de code complet, veuillez vous référer à l'exemple complet.

      Privilège

      ShowPrivilege()

      Récupère tous les privilèges système et les privilèges de graph, qui sont en fait des noms de commandes UQL classés selon leur champ d'application.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • []Privilege : Tous les privilèges système et privilèges de graph.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Récupère tous les privilèges système et privilèges de graph
      
      myPri, err := conn.ShowPrivilege(nil)
      if err != nil {
        println(err)
      }
      
      PGraph := ""
      for i, gp := range myPri[0].GraphPrivileges {
        if i > 0 {
          PGraph += ", "
        }
        PGraph += gp
      }
      println("GraphPrivileges:", "\n", PGraph)
      
      SGraph := ""
      for i, sp := range myPri[0].SystemPrivileges {
        if i > 0 {
          SGraph += ", "
        }
        SGraph += sp
      }
      println("SystemPrivileges:", "\n", SGraph)
      

      GraphPrivileges: 
       TEMPLATE, KHOP, AB, SPREAD, AUTONET, FIND, FIND_NODE, FIND_EDGE, INSERT, EXPORT, UPSERT, UPDATE, DELETE, DELETE_NODE, DELETE_EDGE, CREATE_SCHEMA, DROP_SCHEMA, ALTER_SCHEMA, SHOW_SCHEMA, CREATE_TRIGGER, DROP_TRIGGER, SHOW_TRIGGER, CREATE_BACKUP, RESTORE_BACKUP, SHOW_BACKUP, CREATE_PROPERTY, DROP_PROPERTY, ALTER_PROPERTY, SHOW_PROPERTY, CREATE_FULLTEXT, DROP_FULLTEXT, SHOW_FULLTEXT, CREATE_INDEX, DROP_INDEX, SHOW_INDEX, LTE, UFE, CLEAR_TASK, STOP_TASK, PAUSE_TASK, RESUME_TASK, SHOW_TASK, ALGO, SHOW_ALGO
      SystemPrivileges: 
       TRUNCATE, COMPACT, CREATE_GRAPH, SHOW_GRAPH, DROP_GRAPH, ALTER_GRAPH, MOUNT_GRAPH, UNMOUNT_GRAPH, TOP, KILL, STAT, SHOW_POLICY, CREATE_POLICY, DROP_POLICY, ALTER_POLICY, SHOW_USER, CREATE_USER, DROP_USER, ALTER_USER, GRANT, REVOKE, SHOW_PRIVILEGE
      

      Stratégie

      ShowPolicy()

      Récupère toutes les stratégies de l'instance. Une stratégie comprend des privilèges système, des privilèges de graph, des privilèges de propriété et d'autres stratégies.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • []Policy : La liste de toutes les stratégies dans l'instance.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Récupère toutes les stratégies et affiche leurs informations
      
      myPol, err := conn.ShowPolicy(nil)
      if err != nil {
        println(err)
      }
      
      for i := 0; i < len(myPol); i++ {
        println("Policy name:", myPol[i].Name)
        println("Graph privileges include:", "\n", utils.JSONString(myPol[i].GraphPrivileges))
        println("System privileges include:", "\n", utils.JSONString(myPol[i].SystemPrivileges))
        println("Property privlileges include:", "\n", utils.JSONString(myPol[i].PropertyPrivileges))
        println("Policies include:", utils.JSONString(myPol[i].Policies), "\n")
      }
      

      Policy name: operator
      Graph privileges include: 
       {"miniCircle":["UPDATE","INSERT","TEMPLATE","UPSERT","AUTONET"]}
      System privileges include: 
       ["MOUNT_GRAPH","TRUNCATE","SHOW_GRAPH"]
      Property privlileges include: 
       {"edge":{"deny":[],"read":[],"write":[]},"node":{"deny":[],"read":[],"write":[["miniCircle","account","*"]]}}
      Policies include: [] 
      
      Policy name: manager
      Graph privileges include: 
       {"*":["CREATE_INDEX","DROP_TRIGGER","CREATE_FULLTEXT"]}
      System privileges include: 
       ["DROP_POLICY","COMPACT"]
      Property privlileges include: 
       {"edge":{"deny":[],"read":[],"write":[]},"node":{"deny":[],"read":[],"write":[]}}
      Policies include: ["operator"] 
      

      GetPolicy()

      Récupère une stratégie de l'instance par son nom.

      Paramètres :

      • string : Nom de la stratégie.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Policy : La stratégie récupérée.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Récupère une stratégie 'operator' et affiche ses informations
      
      myPol, err := conn.GetPolicy("operator", nil)
      if err != nil {
        println(err)
      }
      
      println("Policy", myPol.Name, "includes:")
      println("- System privileges:", utils.JSONString(myPol.SystemPrivileges))
      println("- Graph privileges:", utils.JSONString(myPol.GraphPrivileges))
      println("- Proverty privileges:", utils.JSONString(myPol.PropertyPrivileges))
      println("- Policies:", utils.JSONString(myPol.Policies))
      

      Policy operator includes:
      - System privileges: ["MOUNT_GRAPH","TRUNCATE","SHOW_GRAPH"]
      - Graph privileges: {"miniCircle":["UPDATE","INSERT","TEMPLATE","UPSERT","AUTONET"]}
      - Proverty privileges: {"edge":{"deny":[],"read":[],"write":[]},"node":{"deny":[],"read":[],"write":[["miniCircle","account","*"]]}}
      - Policies: []
      

      CreatePolicy()

      Crée une stratégie dans l'instance.

      Paramètres :

      • Policy : La stratégie à être modifiée ; le champ Name doit être renseigné, SystemPrivileges, GraphPrivileges, PropertyPrivileges et Policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Crée une nouvelle stratégie 'sales' et la récupère ensuite
      
      graphPrivileges := structs.GraphPrivileges{
        "miniCircle": []string{"FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"},
        "lcc":        []string{"UPDATE", "INSERT", "DELETE", "UPSERT"},
      }
      propertyPrivileges := structs.PropertyPrivileges{
        "node": {
          "read":  {{"miniCircle", "account", "*"}, {"miniCircle", "movie", "name"}},
          "write": {{"lcc", "*", "*"}},
          "deny":  {},
        },
        "edge": {
          "read":  {{"*", "*", "*"}},
          "write": {{"*", "*", "*"}},
          "deny":  {},
        },
      }
      
      var policy = structs.Policy{
        Name:               "sales",
        GraphPrivileges:    graphPrivileges,
        SystemPrivileges:   []string{"SHOW_GRAPH", "TRUNCATE"},
        PropertyPrivileges: propertyPrivileges,
        Policies:           []string{"manager", "operator"},
      }
      
      newPol, err := conn.CreatePolicy(&policy, nil)
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("Policy is created:", newPol.IsSuccess())
      
      // Affiche la nouvelle stratégie 'sales' 
      
      myPol, err := conn.GetPolicy("sales", nil)
      if err != nil {
        println(err)
      }
      
      println("Policy", myPol.Name, "includes:")
      println("- System privileges:", utils.JSONString(myPol.SystemPrivileges))
      println("- Graph privileges:", utils.JSONString(myPol.GraphPrivileges))
      println("- Proverty privileges:", utils.JSONString(myPol.PropertyPrivileges))
      println("- Policies:", utils.JSONString(myPol.Policies))
      

      Policy is created: true
      Policy sales includes:
      - System privileges: ["SHOW_GRAPH","TRUNCATE"]
      - Graph privileges: {"lcc":["UPDATE","INSERT","DELETE","UPSERT"],"miniCircle":["FIND","SPREAD","AUTONET","AB","TEMPLATE","KHOP"]}
      - Proverty privileges: {"edge":{"deny":[],"read":[["*","*","*"]],"write":[["*","*","*"]]},"node":{"deny":[],"read":[["miniCircle","account","*"],["miniCircle","movie","name"]],"write":[["lcc","*","*"]]}}
      - Policies: ["manager","operator"]
      

      AlterPolicy()

      Modifie les privilèges système, les privilèges de graph, les privilèges de propriété et les stratégies d'une stratégie existante dans l'instance par son nom.

      Paramètres :

      • Policy : La stratégie à être modifiée ; le champ Name doit être renseigné, SystemPrivileges, GraphPrivileges, PropertyPrivileges et Policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Modifie la stratégie 'sales' et la récupère ensuite
      
      graphPrivileges := structs.GraphPrivileges{
        "miniCircle": []string{"FIND"},
        "lcc":        []string{"UPDATE"},
      }
      
      var policy = structs.Policy{
        Name:             "sales",
        GraphPrivileges:  graphPrivileges,
        SystemPrivileges: []string{"SHOW_GRAPH"},
        Policies:         []string{"operator"},
      }
      
      newPol, err := conn.AlterPolicy(&policy, nil)
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("Policy is altered:", newPol.IsSuccess())
      
      time.Sleep(2 * time.Second)
      
      myPol, err := conn.GetPolicy("sales", nil)
      if err != nil {
        println(err)
      }
      
      println("Policy", myPol.Name, "includes:")
      println("- System privileges:", utils.JSONString(myPol.SystemPrivileges))
      println("- Graph privileges:", utils.JSONString(myPol.GraphPrivileges))
      println("- Proverty privileges:", utils.JSONString(myPol.PropertyPrivileges))
      println("- Policies:", utils.JSONString(myPol.Policies))
      

      Policy is altered: true
      Policy sales includes:
      - System privileges: ["SHOW_GRAPH"]
      - Graph privileges: {"lcc":["UPDATE"],"miniCircle":["FIND"]}
      - Proverty privileges: {"edge":{"deny":[],"read":[["*","*","*"]],"write":[["*","*","*"]]},"node":{"deny":[],"read":[["miniCircle","account","*"],["miniCircle","movie","name"]],"write":[["lcc","*","*"]]}}
      - Policies: ["operator"]
      

      DropPolicy()

      Supprime une stratégie de l'instance par son nom.

      Paramètres :

      • string : Nom de la stratégie.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Supprime la stratégie 'sales' et affiche le code d'erreur
      
      myPol, err := conn.DropPolicy("sales", nil)
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("Policy is deleted:", myPol.IsSuccess())
      

      Policy is deleted: true
      

      Utilisateur

      ShowUser()

      Récupère tous les utilisateurs de la base de données de l'instance.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • []User : La liste de tous les utilisateurs dans l'instance.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Récupère tous les utilisateurs et affiche les informations du premier retourné
      
      userList, err := conn.ShowUser(nil)
      
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("Username:", userList[0].UserName)
      println("Created at:", userList[0].Create)
      println("System privileges:", "\n", utils.JSONString(userList[0].SystemPrivileges))
      println("Graph privileges:", "\n", utils.JSONString(userList[0].GraphPrivileges))
      println("Property privileges:", "\n", utils.JSONString(userList[0].PropertyPrivileges))
      println("Policies:", "\n", utils.JSONString(userList[0].Policies))
      

      Username: test006
      Created at: 1970-01-01 08:00:00
      System privileges: 
       ["SHOW_PRIVILEGE","ALTER_USER","DROP_USER","CREATE_USER","SHOW_GRAPH","ALTER_GRAPH","DROP_GRAPH","COMPACT","MOUNT_GRAPH","TOP","CREATE_GRAPH","STAT","UNMOUNT_GRAPH","SHOW_POLICY","TRUNCATE","KILL","ALTER_POLICY","CREATE_POLICY","DROP_POLICY","SHOW_USER"]
      Graph privileges: 
       {}
      Property privileges: 
       {"edge":{"deny":[["*","*","*"]],"read":[],"write":[]},"node":{"deny":[["*","*","*"]],"read":[],"write":[]}}
      Policies: 
       ["operator"]
      

      GetUser()

      Récupère un utilisateur de la base de données de l'instance par son nom d'utilisateur.

      Paramètres :

      • string : Nom d'utilisateur.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • User : L'utilisateur récupéré.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Récupère l'utilisateur 'test005' et affiche ses informations
      
      myUser, err := conn.GetUser("test005", nil)
      
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("Username:", myUser.UserName)
      println("Created at:", myUser.Create)
      println("System privileges:", "\n", utils.JSONString(myUser.SystemPrivileges))
      println("Graph privileges:", "\n", utils.JSONString(myUser.GraphPrivileges))
      println("Property privileges:", "\n", utils.JSONString(myUser.PropertyPrivileges))
      println("Policies:", "\n", utils.JSONString(myUser.Policies))
      

      Username: test005
      Created at: 1970-01-01 08:00:00
      System privileges: 
       ["SHOW_PRIVILEGE","ALTER_USER","DROP_USER","CREATE_USER","SHOW_GRAPH","ALTER_GRAPH","DROP_GRAPH","COMPACT","MOUNT_GRAPH","TOP","CREATE_GRAPH","STAT","UNMOUNT_GRAPH","SHOW_POLICY","TRUNCATE","KILL","ALTER_POLICY","CREATE_POLICY","DROP_POLICY","SHOW_USER"]
      Graph privileges: 
       {}
      Property privileges: 
       {"edge":{"deny":[],"read":[],"write":[]},"node":{"deny":[],"read":[],"write":[]}}
      Policies: 
       ["operator"]
      

      CreateUser()

      Crée un utilisateur de base de données dans l'instance.

      Paramètres :

      • CreateUser : L'utilisateur à créer ; les champs UserName et PassWord doivent être renseignés, SystemPrivilegess, GraphPrivileges, PropertyPrivileges et Policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Crée un nouvel utilisateur 'GoUser' et affiche le code d'erreur
      
      graphPrivileges := structs.GraphPrivileges{
        "miniCircle": []string{"FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"},
        "lcc":        []string{"UPDATE", "INSERT", "DELETE", "UPSERT"},
      }
      
      var user = structs.CreateUser{
        UserName:         "GoUser",
        PassWord:         "Password",
        SystemPrivileges: []string{"SHOW_GRAPH", "TRUNCATE"},
        GraphPrivileges:  graphPrivileges,
        Policies:         []string{"manager", "operator"},
      }
      
      myUser, err := conn.CreateUser(&user, nil)
      
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("User is created:", myUser.IsSuccess())
      

      User is created: true
      

      AlterUser()

      Modifie le mot de passe, les privilèges système, les privilèges de graph, les privilèges de propriété et les stratégies d'un utilisateur existant de la base de données dans l'instance par son nom d'utilisateur.

      Paramètres :

      • AlterUser : L'utilisateur à être modifié ; le champ UserName doit être renseigné, PassWord, SystemPrivilegess, GraphPrivileges, PropertyPrivileges et Policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Modifie l'utilisateur 'GoUser' et affiche le code d'erreur
      
      graphPrivileges := structs.GraphPrivileges{
        "miniCircle": []string{"FIND"},
      }
      
      var user = structs.AlterUser{
        UserName:         "GoUser",
        SystemPrivileges: []string{"SHOW_GRAPH"},
        GraphPrivileges:  graphPrivileges,
        Policies:         []string{"operator"},
      }
      
      myUser, err := conn.AlterUser(&user, nil)
      
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("User is altered:", myUser.IsSuccess())
      

      User is altered: true
      

      DropUser()

      Supprime un utilisateur de la base de données de l'instance par son nom d'utilisateur.

      Paramètres :

      • string : Nom d'utilisateur.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Supprime l'utilisateur 'GoUser' et affiche le code d'erreur
      
      myUser, err := conn.DropUser("GoUser", nil)
      
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("User is deleted:", myUser.IsSuccess())
      

      User is deleted: true
      

      GrantPolicy()

      Accorde de nouveaux privilèges système, privilèges de graph, privilèges de propriété et stratégies à un utilisateur de base de données dans l'instance.

      Paramètres :

      • string : Nom d'utilisateur.
      • GraphPrivileges : Privilèges de graph à accorder; mettre à nil pour ignorer l'attribution de privilèges de graph.
      • []string : Privilèges système à accorder ; mettre à []string{} pour ignorer l'attribution de privilèges système.
      • PropertyPrivileges : Privilèges de propriété à accorder ; mettre à nil pour ignorer l'attribution de privilèges de propriété.
      • []string : Stratégies à accorder ; mettre à []string{} pour ignorer l'attribution de stratégies.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      // Accorde les privilèges et stratégies à l'utilisateur 'johndoe' et affiche le code d'erreur
      
      graphPrivileges := structs.GraphPrivileges{
        "miniCircle": []string{"FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"},
        "lcc":        []string{"UPDATE", "INSERT", "DELETE", "UPSERT"},
      }
      
      myPol, err := conn.GrantPolicy("johndoe", &graphPrivileges, []string{"SHOW_GRAPH", "TRUNCATE"}, nil, []string{"manager", "operator"}, nil)
      
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      
      println("Policy is granted:", myPol.IsSuccess())
      

      Policy is granted: true
      

      RevokePolicy()

      Révoque les privilèges système, privilèges de graph, privilèges de propriété et stratégies d'un utilisateur de base de données dans l'instance.

      Paramètres :

      • string : Nom d'utilisateur.
      • GraphPrivileges : Privilèges de graph à révoquer; mettre à nil pour ignorer la révocation des privilèges de graph.
      • []string : Privilèges système à révoquer ; mettre à []string{} pour ignorer la révocation des privilèges système.
      • PropertyPrivileges : Privilèges de propriété à révoquer ; mettre à nil pour ignorer la révocation des privilèges de propriété.
      • []string : Stratégies à révoquer ; mettre à []string{} pour ignorer la révocation des stratégies.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête. Si nil est fourni, la fonction utilisera les paramètres de configuration par défaut.

      Retourne :

      • Response : Résultat de la requête.
      • error : Un objet erreur contenant les détails de tout problème survenu. nil est retourné si l'opération est réussie.

      graphPrivileges := structs.GraphPrivileges{
        "miniCircle": []string{"FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"},
        "default":    []string{"UPDATE", "INSERT", "DELETE", "UPSERT"},
      }
      
      propertyPrivileges := structs.PropertyPrivileges{
        "node": {
          "read":  {{"miniCircle", "account", "*"}, {"miniCircle", "movie", "name"}},
          "write": {{"default", "*", "*"}},
          "deny":  {},
        },
        "edge": {
          "read":  {{"*", "*", "*"}},
          "write": {{"miniCircle", "*", "*"}},
          "deny":  {},
        },
      }
      
      myPol1, err := conn.RevokePolicy("johndoe", &graphPrivileges, []string{}, nil, []string{}, nil)
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      println("Policy is revoked:", myPol1.IsSuccess())
      
      myPol2, err := conn.RevokePolicy("Tester", &graphPrivileges, []string{"SHOW_GRAPH", "TRUNCATE"}, &propertyPrivileges, []string{"manager", "operator"}, nil)
      if err != nil {
        println(utils.JSONString(err.Error()))
      }
      println("Policy is revoked:", myPol2.IsSuccess())
      

      Policy is revoked: true
      Policy is revoked: true
      

      Exemple Complet

      package main
      
      import (
        "github.com/ultipa/ultipa-go-sdk/sdk"
        "github.com/ultipa/ultipa-go-sdk/sdk/configuration"
        "github.com/ultipa/ultipa-go-sdk/utils"
      )
      
      func main() {
      
        // Connection configurations
        //URI example: Hosts:=[]string{"mqj4zouys.us-east-1.cloud.ultipa.com:60010"}
          config, _ := configuration.NewUltipaConfig(&configuration.UltipaConfig{
          Hosts:    []string{"192.168.1.85:60061", "192.168.1.86:60061", "192.168.1.87:60061"},
          Username: "***",
          Password: "***",
        })
      
        // Etablit la connexion à la base de données
        conn, _ := sdk.NewUltipa(config)
        
        // Récupère toutes les stratégies et affiche leurs informations
        myPol, err := conn.ShowPolicy(nil)
        if err != nil {
          println(err)
        }
      
      
        for i := 0; i < len(myPol); i++ {
          println("Policy name:", myPol[i].Name)
          println("Graph privileges include:", "\n", utils.JSONString(myPol[i].GraphPrivileges))
          println("System privileges include:", "\n", utils.JSONString(myPol[i].SystemPrivileges))
          println("Property privlileges include:", "\n", utils.JSONString(myPol[i].PropertyPrivileges))
          println("Policies include:", utils.JSONString(myPol[i].Policies), "\n")
        }
        println(utils.JSONString(newNodeSchema))
      
      }
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写