Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connexion aux bases de données Amazon Neptune à l'aide de l'authentification IAM avec Gremlin .NET
Présentation
Ce guide explique comment se connecter à une base de données Amazon Neptune avec l'authentification IAM activée à l'aide du pilote .NET G705, avec l'authentification Signature version 4 et le SDK pour AWS .NET v3.
Création d'une connexion de base
Pour vous connecter à Gremlin .NET, utilisez le fichier SigV4RequestSigner
source de la bibliothèque personnalisée https://github.com/aws/amazon-neptune-gremlin-dotnet-sigv4
Dossier du projet :
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp8.0</TargetFramework> </PropertyGroup> <ItemGroup> <Compile Include="../src/SigV4RequestSigner.cs" Link="SigV4RequestSigner.cs" /> <PackageReference Include="AWSSDK.Core" Version="3.7.402.24" /> <PackageReference Include="gremlin.net" Version="3.7.3" /> </ItemGroup> </Project>
Exemple de programme :
using System; using System.Collections.Generic; using System.Net.WebSockets; using System.Linq; using System.Net.Http; using System.Security.Cryptography; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Web; using Gremlin.Net; using Gremlin.Net.Driver; using Gremlin.Net.Driver.Remote; using Gremlin.Net.Process; using Gremlin.Net.Process.Traversal; using Gremlin.Net.Structure; using static Gremlin.Net.Process.Traversal.AnonymousTraversalSource; using static Gremlin.Net.Process.Traversal.__; using static Gremlin.Net.Process.Traversal.P; using static Gremlin.Net.Process.Traversal.Order; using static Gremlin.Net.Process.Traversal.Operator; using static Gremlin.Net.Process.Traversal.Pop; using static Gremlin.Net.Process.Traversal.Scope; using static Gremlin.Net.Process.Traversal.TextP; using static Gremlin.Net.Process.Traversal.Column; using static Gremlin.Net.Process.Traversal.Direction; using static Gremlin.Net.Process.Traversal.T; using Amazon.Runtime.CredentialManagement; using Amazon.Runtime; using Amazon; using Amazon.Util; using Amazon.Neptune.Gremlin.Driver; namespace NeptuneExample { class Program { static void Main(string[] args) { /* Include your Neptune endpoint and port below. */ var neptune_host = "neptune-endpoint"; // ex: mycluster.cluster.us-east-1.neptune.amazonaws.com var neptune_port = 8182; var gremlinServer = new GremlinServer(neptune_host, neptune_port); var gremlinClient = new GremlinClient(gremlinServer, webSocketConfiguration: new SigV4RequestSigner().signRequest(neptune_host, neptune_port)); var remoteConnection = new DriverRemoteConnection(gremlinClient); var g = Traversal().WithRemote(remoteConnection); /* Example code to pull the first 5 vertices in a graph. */ Console.WriteLine("Get List of Node Labels:"); Int32 limitValue = 5; var output = g.V().Limit<Vertex>(limitValue).ToList(); foreach(var item in output) { Console.WriteLine(item); } } } }