

# SDK para Go de DAX
<a name="DAX.client.run-application-go"></a>

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

1. Configure SDK para Go en su instancia de Amazon EC2:

   1. Instale el lenguaje de programación Go (`Golang`).

      ```
      sudo yum install -y golang
      ```

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

1. Instale la aplicación Golang de ejemplo.

   ```
   go get github.com/aws-samples/aws-dax-go-sample
   ```

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

1. 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` y `Scan`.

1. 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` y `Scan` 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` y `Scan` deberían ser significativamente menores con DAX que con DynamoDB.

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