DAX SDK for Go
按照此过程操作,在 Amazon EC2 实例上运行 Amazon DynamoDB Accelerator (DAX) SDK for Go 示例应用程序。
为 DAX 运行 SDK for Go 示例
-
在 Amazon EC2 实例设置 SDK for Go:
-
安装 Go 编程语言 (
Golang
)。sudo yum install -y golang
-
测试 Golang 是否已安装且运行正常。
go version
应该显示类似下面的消息。
go version go1.15.5 linux/amd64
其余指令依赖 Go 版本 1.13 默认的模块支持。
-
-
安装 Golang 示例应用程序。
go get github.com/aws-samples/aws-dax-go-sample
-
运行以下 Golang 程序。第一个程序创建一个名为
TryDaxGoTable
的 DynamoDB 表。第二个程序向表中写入数据。go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command create-table
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command put-item
-
运行以下 Golang 程序。
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command get-item
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command query
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command scan
记下计时信息—
GetItem
、Query
和Scan
测试所需的时间(以毫秒为单位)。 -
在上一步中,您已针对 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" }
现在再次运行这些程序,但这次将集群端点指定为命令行参数。
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dax -command get-item -endpoint my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com:8111
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dax -command query -endpoint my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com:8111
go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dax -command scan -endpoint my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com:8111
查看输出的其余内容,并记下计时信息。与 DynamoDB 相比,使用 DAX 时,
GetItem
、Query
和Scan
的运行时间应明显更短。 -
-
运行以下 Golang 程序以删除
TryDaxGoTable
。go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command delete-table