Connexion à Neptune à l'aide de Java et de Gremlin avec Signature Version 4 Signing - Amazon Neptune

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 à Neptune à l'aide de Java et de Gremlin avec Signature Version 4 Signing

A l'aide de TinkerPop 3.4.11 ou version ultérieure pour se connecter à Neptune avec signature Sig4

Voici un exemple de connexion à Neptune à l'aide de l'API Java Gremlin avec signature Sig4 lors de l'utilisation TinkerPop 3.4.11 ou supérieur (il suppose des connaissances générales sur l'utilisation de Maven). Tout d'abord, définissez les dépendances dans le cadre depom.xmlfichier :

<dependency> <groupId>com.amazonaws</groupId> <artifactId>amazon-neptune-sigv4-signer</artifactId> <version>2.4.0</version> </dependency>

Utilisez ensuite le code comme suit :

import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.neptune.auth.NeptuneNettyHttpSigV4Signer; ... System.setProperty("aws.accessKeyId","your-access-key"); System.setProperty("aws.secretKey","your-secret-key"); ... Cluster = Cluster.build((your cluster name)) .enableSsl(true) .handshakeInterceptor( r -> { NeptuneNettyHttpSigV4Signer sigV4Signer = new NeptuneNettyHttpSigV4Signer(region, new DefaultAWSCredentialsProviderChain()); sigV4Signer.signRequest(r); return r; } ).create(); Client client = cluster.connect(); client.submit("g.V().has('code','IAD')").all().get();
Note

Si vous effectuez une mise à niveau depuis3.4.11, supprimez les références àamazon-neptune-gremlin-java-sigv4Bibliothèque. Il n'est plus nécessaire lors de l'utilisationhandshakeInterceptor()comme indiqué dans l'exemple ci-dessus. N'essayez pas d'utiliserhandshakeInterceptor()conjointement avec le canaliseur (SigV4WebSocketChannelizer.class), car cela produira des erreurs.

Utilisation d'une version de TinkerPopversion antérieure à 3.4.11 pour se connecter à Neptune avec signature Sig4

TinkerPop versions antérieures à3.4.11n'a pas bénéficié d'un support pourhandshakeInterceptor()configuration présentée danssection précédenteet doit donc s'appuyer sur leamazon-neptune-gremlin-java-sigv4Package. Il s'agit d'une bibliothèque Neptune qui contientSigV4WebSocketChannelizerclasse, qui remplace la norme TinkerPop Un canaliseur qui peut injecter automatiquement une signature Sigv4. Dans la mesure du possible, passez à TinkerPop 3.4.11 ou supérieur, car leamazon-neptune-gremlin-java-sigv4la bibliothèque est obsolète.

Voici un exemple de connexion à Neptune à l'aide de l'API Java Gremlin avec signature Sig4 lors de l'utilisation TinkerPop versions antérieures à 3.4.11 (cela suppose des connaissances générales sur l'utilisation de Maven).

Tout d'abord, définissez les dépendances dans le cadre depom.xmlfichier :

<dependency> <groupId>com.amazonaws</groupId> <artifactId>amazon-neptune-gremlin-java-sigv4</artifactId> <version>2.4.0</version> </dependency>

La dépendance ci-dessus inclura la version du pilote Gremlin3.4.10. Bien qu'il soit possible d'utiliser des versions plus récentes du pilote Gremlin (jusqu'à3.4.13), une mise à niveau du pilote après la version 3.4.10 devrait inclure une modification visant à utiliserhandshakeInterceptor()Modèle décritci-dessus.

Dans lagremlin-driverL'objet du cluster doit ensuite être configuré comme suit dans le code Java :

import org.apache.tinkerpop.gremlin.driver.SigV4WebSocketChannelizer; ... Cluster cluster = Cluster.build(your cluster) .enableSsl(true) .channelizer(SigV4WebSocketChannelizer.class) .create(); Client client = cluster.connect(); client.submit("g.V().has('code','IAD')").all().get();