

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar o Python para conectar-se a uma instância de banco de dados do Neptune
<a name="access-graph-gremlin-python"></a>

**Importante**  
Escolher a versão correta do driver Apache TinkerPop Gremlin é fundamental para a compatibilidade com a versão do motor Neptune. Usar uma versão incompatível pode resultar em falhas de conexão ou comportamento inesperado. Para obter informações detalhadas sobre compatibilidade de versões, consulte[Acessar o grafo do Neptune com o Gremlin](access-graph-gremlin.md).

A seção a seguir descreve a execução de um exemplo do Python que se conecta a uma instância de banco de dados do Amazon Neptune e executa um percurso do Gremlin.

Você deve seguir estas instruções em uma instância do Amazon EC2 na mesma nuvem privada virtual (VPC) que a instância de banco de dados do Neptune.

Antes de começar, faça o seguinte:
+ Baixe e instale o Python 3.6 ou posterior do [site Python.org](https://www.python.org/downloads/).
+ Verifique se você tem o **pip** instalado. Se não tiver o **pip** ou não tiver certeza, consulte [Do I need to install pip? (Preciso instalar pip?)](https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip) na **pip** documentação.
+ Se sua instalação do Python não o tiver, faça download de `futures` da seguinte forma: `pip install futures`



**Como conectar-se ao Neptune usando o Python**

1. Insira o seguinte para instalar o pacote `gremlinpython`:

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

1. Crie um arquivo denominado `gremlinexample.py` e abra-o em um editor de texto.

1. Copie o seguinte no arquivo `gremlinexample.py`. *your-neptune-endpoint*Substitua pelo endereço do seu cluster de banco de dados Neptune *your-neptune-port* e pela porta do seu cluster de banco de dados Neptune (padrão: 8182). 

   Para obter informações sobre como localizar o endereço da instância de banco de dados do Neptune, consulte a seção [Conectar-se a endpoints do Amazon Neptune](feature-overview-endpoints.md).

    O exemplo abaixo demonstra como se conectar ao 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. Insira o seguinte comando para executar o exemplo:

   ```
   python gremlinexample.py
   ```

   A consulta do Gremlin no final deste exemplo retorna os vértices (`g.V().limit(2)`) em uma lista. Em seguida, essa lista é impressa com a função `print` padrão do Python.
**nota**  
A parte final da consulta do Gremlin, `toList()`, é necessária para enviar a travessia ao servidor para avaliação. Se você não incluir esse método ou outro método equivalente, a consulta não será enviada à instância de banco de dados do Neptune.

   Os seguintes métodos enviam a consulta à instância de banco de dados do Neptune:
   + `toList()`
   + `toSet()`
   + `next()`
   + `nextTraverser()`
   + `iterate()`

   

   O exemplo anterior retorna os primeiros dois vértices do gráfico usando a travessia `g.V().limit(2).toList()`. Para consultar outro elemento, substitua-a por outra travessia do Gremlin com um dos métodos de término adequado.

## Autenticação do IAM
<a name="access-graph-gremlin-python-iam"></a>

O Neptune [oferece suporte à autenticação do IAM](iam-auth-enable.md) para controlar o acesso ao seu cluster de banco de dados. Se você tiver a autenticação do IAM ativada, precisará usar a assinatura Signature versão 4 para autenticar suas solicitações. Para obter instruções detalhadas e exemplos de código para se conectar a partir de um cliente Python, consulte. [Conectar-se a bancos de dados do Amazon Neptune usando a autenticação do IAM com Gremlin Python](gremlin-python-iam-auth.md)