

# Python e DAX
<a name="DAX.client.run-application-python"></a>

Siga este procedimento para executar a aplicação de exemplo em Python na instância do Amazon EC2.

**Para executar o exemplo de Python para DAX**

1. Instale o cliente do Python do DAX usando o utilitário `pip`.

   ```
   pip install amazon-dax-client
   ```

1. Baixe o código-fonte do programa de exemplo (arquivo `.zip`).

   ```
   wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip
   ```

   Quando o download for concluído, extraia os arquivos de origem.

   ```
   unzip TryDax.zip
   ```

1. Execute os seguintes programas do Python. O primeiro programa cria uma tabela do Amazon DynamoDB chamada `TryDaxTable`. O segundo programa grava dados na tabela.

   ```
   python 01-create-table.py
   python 02-write-data.py
   ```

1. Execute os seguintes programas do Python.

   ```
   python 03-getitem-test.py
   python 04-query-test.py
   python 05-scan-test.py
   ```

    Anote as informações de tempo: o número de milissegundos necessários para os testes `GetItem`, `Query` e `Scan`.

1. Na etapa anterior, você executou os programas no endpoint do DynamoDB. Agora execute os programas novamente, mas, desta vez, as operações `GetItem`, `Query` e `Scan` são processadas pelo cluster do DAX.

   Para determinar o endpoint do cluster do DAX, escolha uma das seguintes opções:
   + **Usando o console do DynamoDB**: escolha seu cluster do DAX. O endpoint do cluster é mostrado no console, como no exemplo a seguir.

     ```
     dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
     ```
   + **Usando a AWS CLI**: insira o comando a seguir.

     ```
     aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"
     ```

     O endpoint do cluster é mostrado na saída, como neste exemplo.

     ```
     {
         "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com",
         "Port": 8111,
         "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com"
     }
     ```

   Execute os programas novamente, mas, desta vez, especifique o endpoint do cluster como um parâmetro de linha de comando.

   ```
   python 03-getitem-test.py dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
   python 04-query-test.py dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
   python 05-scan-test.py dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
   ```

   Observe o restante da saída e anote as informações de tempo. Os tempos decorridos para `GetItem`, `Query` e `Scan` devem ser significativamente mais baixos com o DAX do que com o DynamoDB.

1. Execute o seguinte programa do Python para excluir a `TryDaxTable`.

   ```
   python 06-delete-table.py
   ```

Para obter mais informações sobre esses programas, consulte as seguintes seções:
+ [01-create-table.py](DAX.client.run-application-python.01-create-table.md)
+ [02-write-data.py](DAX.client.run-application-python.02-write-data.md)
+ [03-getitem-test.py](DAX.client.run-application-python.03-getitem-test.md)
+ [04-query-test.py](DAX.client.run-application-python.04-query-test.md)
+ [05-scan-test.py](DAX.client.run-application-python.05-scan-test.md)
+ [06-delete-table.py](DAX.client.run-application-python.06-delete-table.md)