

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

按照此过程操作在 Amazon EC2 实例上运行 Python 示例应用程序。

**运行 DAX 的 Python 示例**

1. 使用 `pip` 实用工具安装 DAX Python 客户端。

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

1. 下载示例程序源代码（`.zip` 文件）。

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

   下载完成后，解压缩源文件。

   ```
   unzip TryDax.zip
   ```

1. 运行以下 Python 程序。第一个程序创建一个名为 `TryDaxTable` 的 Amazon DynamoDB 表。第二个程序向表中写入数据。

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

1. 运行以下 Python 程序。

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

    记下计时信息—`GetItem`、`Query` 和 `Scan` 测试所需的时间（以毫秒为单位）。

1. 在上一步中，您已针对 DynamoDB 端点运行程序。现在，重新运行这些程序，但此次，`GetItem`、`Query` 和 `Scan` 操作将由 DAX 集群处理。

   要确定 DAX 集群的端点，请选择下列选项之一：
   + **使用 DynamoDB 控制台** — 选择 DAX 集群。集群端点显示在控制台中，如下面的示例所示。

     ```
     dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
     ```
   + **使用 AWS CLI** — 输入下面的命令。

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

     集群端点显示在输出中，如此示例中所示。

     ```
     {
         "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"
     }
     ```

   重新运行这些程序，但这一次将集群端点指定为命令行参数。

   ```
   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
   ```

   查看输出的其余内容，并记下计时信息。与 DynamoDB 相比，使用 DAX 时，`GetItem`、`Query` 和 `Scan` 的运行时间应明显更短。

1. 运行以下 Python 程序删除 `TryDaxTable`。

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

有关这些程序的更多信息，请参见以下各部分：
+ [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)