

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Python per connettersi a un'istanza database Neptune
<a name="access-graph-gremlin-python"></a>

**Importante**  
La scelta della versione corretta del driver Apache TinkerPop Gremlin è fondamentale per la compatibilità con la versione del motore Neptune in uso. L'utilizzo di una versione incompatibile può causare errori di connessione o comportamenti imprevisti. Per informazioni dettagliate sulla compatibilità delle versioni, vedere. [Accesso al grafo Neptune con Gremlin](access-graph-gremlin.md)

La sezione seguente illustra come eseguire un esempio Python che si connette a un'istanza database Amazon Neptune ed esegue un attraversamento Gremlin.

Segui queste istruzioni da un'istanza Amazon EC2 nello stesso cloud privato virtuale (VPC) dell'istanza database Neptune.

Prima di iniziare, esegui queste attività:
+ Scarica e installa Python 3.6 o versione successiva dal [sito Web Python.org](https://www.python.org/downloads/).
+ Verificare di aver installato **pip**. Se non si dispone di **pip** o non si è sicuri, consultare [Do I need to install pip? (Devo installare pip?)](https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip) nella documentazione **pip**.
+ Se l'installazione Python non lo comprende già, scaricare `futures` come segue: `pip install futures`



**Per connettersi a Neptune tramite Python**

1. Installare il pacchetto `gremlinpython` immettendo quanto segue:

   ```
   pip install --user gremlinpython
   ```

1. Creare un file denominato `gremlinexample.py`, quindi aprirlo in un editor di testo.

1. Copiare quanto segue nel file `gremlinexample.py`. Sostituisci *your-neptune-endpoint* con l'indirizzo del tuo cluster Neptune DB *your-neptune-port* e con la porta del tuo cluster Neptune DB (impostazione predefinita: 8182). 

   Per informazioni su come trovare l'indirizzo dell'istanza database Neptune, consulta la sezione [Connessione agli endpoint Amazon Neptune](feature-overview-endpoints.md).

    L'esempio seguente mostra come connettersi con Gremlin Python. 

   ```
   import boto3
   import os
   from botocore.auth import SigV4Auth
   from botocore.awsrequest import AWSRequest
   from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
   from gremlin_python.process.anonymous_traversal import traversal
   
   database_url = "wss://your-neptune-endpoint:your-neptune-port/gremlin"
   
   remoteConn = DriverRemoteConnection(database_url, "g")
   
   g = traversal().withRemote(remoteConn)
   
   print(g.inject(1).toList())
   remoteConn.close()
   ```

1. Immettere il comando seguente per eseguire l'esempio:

   ```
   python gremlinexample.py
   ```

   La query Gremlin alla fine di questo esempio restituisce i vertici (`g.V().limit(2)`) in un elenco. Questo elenco viene quindi stampato con la funzione Python standard `print`.
**Nota**  
La parte finale della query Gremlin, `toList()` è obbligatoria per inviare l'attraversamento al server per la valutazione. Se non includi quel metodo o un altro metodo equivalente, la query non viene inviata all'istanza database Neptune.

   I metodi riportati sotto inviano la query all'istanza database Neptune:
   + `toList()`
   + `toSet()`
   + `next()`
   + `nextTraverser()`
   + `iterate()`

   

   L'esempio precedente restituisce i primi due vertici del grafo utilizzando l'attraversamento `g.V().limit(2).toList()`. Per eseguire query per qualcos'altro, sostituirla con un altro attraversamento Gremlin con uno dei metodi finali appropriati.

## Autenticazione IAM
<a name="access-graph-gremlin-python-iam"></a>

Neptune [supporta l'autenticazione IAM](iam-auth-enable.md) per controllare l'accesso al cluster DB. Se hai abilitato l'autenticazione IAM, devi utilizzare la firma Signature Version 4 per autenticare le tue richieste. Per istruzioni dettagliate ed esempi di codice per la connessione da un client Python, vedere. [Connessione ai database Amazon Neptune utilizzando l'autenticazione IAM con Gremlin Python](gremlin-python-iam-auth.md)