Fermer

septembre 23, 2019

Test local à l'aide de Gremlin sur l'émulateur de base de données Azure Cosmos


On m'a récemment demandé de configurer une instance de base de données locale pour tester une application Web. L'application utilise une base de données de graphes Gremlin hébergée sur Azure Cosmos DB. La solution que nous avons choisie utilisait l'émulateur de base de données Azure Cosmos avec des données renseignées par un script. En raison de la faible utilisation de Gremlin, il n’existe pas beaucoup de documentation à ce sujet. Par conséquent, une fois les scripts et la configuration terminés, j'ai décidé de partager mes nouvelles connaissances avec tout le monde.

Vous devez tout d'abord télécharger et installer l'émulateur de base de données Azure Cosmos . Ensuite, téléchargez la console Gremlin sdk et placez le dossier décompressé dans C: / sdk.

Ensuite, exécutez cette commande dans votre console:
C: "Program Files" "Azure Cosmos Emulateur de base de données ” CosmosDB.Emulator.exe / EnableGremlinEndpoint

Ceci démarrera l’émulateur. Lorsque la fenêtre de votre navigateur s’ouvre, créez un nouveau conteneur et une nouvelle base de données. Lorsque vous avez terminé, collez ce qui suit dans C: sdk apache-tinkerpop-gremlin-console-3.4.3 conf remote-localcompute.yaml:

hôtes: [localhost]
port: 8901
nom d'utilisateur: / dbs / base de données} / collection .tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0,
config: {serializeResultToString: true}}

Maintenant, exécutez la commande suivante à partir de C: sdk apache-tinkerpop-tinkerpop-gremlin-console.3.3: [19659002] bin gremlin.bat

Ceci ouvrira la console Gremlin dans la fenêtre de votre console. Pour démarrer un script de remplissage de données, exécutez ‘. {emplacement de votre script} 'Un exemple de script ressemble à ceci:

: connexion distante tinkerpop.server conf / remote-localcompute.yaml
: console distante
gE (). drop ()
gV ( ) .drop ()
g.addV ('Emplacement'). propriété ('Nom', 'Atlanta'). propriété ('_ partitionKey', 'v1')
g.addV ('Personne'). property ('Name', 'Josh Kostal'). property ('_ partitionKey', 'v1')

Ceci va vous connecter à votre base de données locale, supprimer tous les arêtes et sommets existants et ajouter deux nouveaux sommets. Vous pouvez maintenant exécuter vos tests. Une fois ces opérations terminées, exécutez:

C: "Program Files" "Émulateur de base de données Azure Cosmos" CosmosDB.Emulator.exe / Shutdown

Cette opération désactive l’émulateur.

Enfin, les voici en cours de fonctionnement. exemples de mes scripts:

gremlin-connect.bat
démarrer C: "Program Files" "Émulateur de base de données Azure Cosmos" CosmosDB.Emulator.exe / EnableGremlinEndpoint
cd / d C: sdk apache-tinkerpop-gremlin-console-3.4.3
démarrer cmd / k appel bin gremlin.bat
ECHO Une fois les tests terminés, appuyez sur une touche quelconque. Ceci arrêtera la base de données locale
PAUSE
C: "Program Files" "Émulateur Azure Cosmos DB" CosmosDB.Emulator.exe /Shutdown

load-data.txt
:remote connect tinkerpop .server conf / remote-localcompute.yaml
: console distante
gE (). drop ()
gV (). drop ()
g.addV ('Emplacement'). property (' Name ',' Atlanta '). Property (' _ partitionKey ',' v1 ')
g.addV (' Personne '). Property (' Nom ',' Josh Kostal '). Property (' _ partitionKey ',' v1 ')

J'espère que cela vous aidera, n'hésitez pas à me contacter si vous avez des questions! Mon adresse électronique est josh.kostal@perficient.com.




Source link