DAX SDK for Go
Siga este procedimento para executar o exemplo do SDK for Go para Amazon DynamoDB Accelerator (DAX) em sua instância do Amazon EC2.
Para executar o exemplo do SDK for Go para DAX
-
Configure o SDK for Go em sua instância do Amazon EC2:
-
Instale a linguagem de programação Go (
Golang
).sudo yum install -y golang
-
Verifique se o Golang está instalado e funcionando corretamente.
go version
Uma mensagem semelhante a esta deve ser mostrada.
go version go1.15.5 linux/amd64
As instruções restantes dependem do suporte do módulo, o qual se tornou o padrão com o Go versão 1.13.
-
-
Instale o aplicativo de exemplo do Golang.
go get github.com/aws-samples/aws-dax-go-sample
-
Execute os seguintes programas do Golang. O primeiro programa cria uma tabela do DynamoDB chamada
TryDaxGoTable
. O segundo programa grava dados na tabela.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
-
Execute os seguintes programas do 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
Anote as informações de tempo: o número de milissegundos necessários para os testes
GetItem
,Query
eScan
. -
Na etapa anterior, você executou os programas no endpoint do DynamoDB. Agora, execute os programas novamente, mas, desta vez, as operações
GetItem
,Query
eScan
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 no exemplo a seguir.
{ "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" }
Agora, execute os programas novamente, mas, desta vez, especifique o endpoint do cluster como um parâmetro de linha de comando.
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
Observe o restante da saída e anote as informações de tempo. Os tempos decorridos para
GetItem
,Query
eScan
devem ser significativamente mais baixos com o DAX do que com o DynamoDB. -
-
Execute o seguinte programa Golang para excluir a
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