SDK para Go de DAX
Siga este procedimiento para ejecutar la aplicación de ejemplo de SDK para Go de Amazon DynamoDB Accelerator (DAX) en su instancia de Amazon EC2.
Para ejecutar la muestra de SDK para Go para DAX
-
Configure SDK para Go en su instancia de Amazon EC2:
-
Instale el lenguaje de programación Go (
Golang
).sudo yum install -y golang
-
Compruebe que Golang está instalado y se ejecuta correctamente.
go version
Debería aparecer un mensaje como este.
go version go1.15.5 linux/amd64
Las instrucciones restantes se basan en el soporte del módulo, que se convirtió en el predeterminado la versión 1.13 de Go.
-
-
Instale la aplicación Golang de ejemplo.
go get github.com/aws-samples/aws-dax-go-sample
-
Ejecute los siguientes programas de Golang. El primer programa crea una tabla de DynamoDB denominada
TryDaxGoTable
. El segundo programa escribe datos en la tabla.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
-
Ejecute los siguientes programas de 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
Tome nota de la información de tiempo; es decir, del número de milisegundos necesarios para realizar las pruebas de
GetItem
,Query
yScan
. -
En el paso anterior, ha ejecutado los programas en el punto de enlace de DynamoDB. Ahora, ejecute los programas de nuevo, pero, esta vez, las operaciones
GetItem
,Query
yScan
se procesan en el clúster de DAX.Para determinar el punto de enlace del clúster de DAX, elija una de las opciones siguientes:
-
En la consola de DynamoDB: elija su clúster de DAX. El punto de enlace del clúster se muestra en la consola, como en el siguiente ejemplo.
dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
-
En la AWS CLI: ingrese el siguiente comando.
aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"
El punto de enlace del clúster se muestra en el resultado, como en el siguiente ejemplo.
{ "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" }
Ahora, vuelva a ejecutar los programas, pero, esta vez, especifique el punto de enlace del clúster como parámetro en la línea de comandos.
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
Fíjese en el resto del resultado y tome nota de la información sobre tiempos. Los tiempos transcurridos para las operaciones
GetItem
,Query
yScan
deberían ser significativamente menores con DAX que con DynamoDB. -
-
Ejecute el siguiente programa de Golang para eliminar
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