DAX SDK for Go - Amazon DynamoDB

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
  1. Configure o SDK for Go em sua instância do Amazon EC2:

    1. Instale a linguagem de programação Go (Golang).

      sudo yum install -y golang
    2. 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.

  2. Instale o aplicativo de exemplo do Golang.

    go get github.com/aws-samples/aws-dax-go-sample
  3. 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
  4. 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 e Scan.

  5. 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 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 e Scan devem ser significativamente mais baixos com o DAX do que com o DynamoDB.

  6. 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