Les paso este conocimiento porqué hay muy poco en español y sobre todo actualizado. Esto me paso usando AWS SDK Java 2.x, en esencia la diferencia de la versión 1.11 a la 2.x es el soporte de Java 8, pero también cambiaron los nombres de las clases (fue una refactorización muy grande o una implementación desde cero).
Es por ello que aquí les dejo la documentación y como poder implementarla correctamente.
Para autenticarse u obtener las credenciales de AWS la documentación te sugiere usar un «profile» que es un archivo que contenga el «ACCESS KEY» y «SECRET KEY» o usar variables de entorno:
Y también existe una posibilidad de hacerlo de la manera más insegura, es correcto la opción que todos pensamos que es la más fácil. Poner el access key y secret key en el código, así en duro, por que fácil.
Y esa es la que les voy a explicar, porque seguro la están buscando.
final AwsCredentials awsCredentials = AwsBasicCredentials.create(ACCESS_KEY, SECRET_KEY); final AwsCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(awsCredentials); final SnsClient snsClient = SnsClient.builder().region(REGION).credentialsProvider(credentialsProvider).build();
En este ejemplo estoy creando un cliente de SNS (Amazon Simple Notification Service)
Espero les ayude a sus pruebas pero recuerden que esta es la forma MÁS INSEGURA!!!
Les dejos las referencias de la documentación:
Y extra les dejo unos códigos de ejemplo de AWS en GitHub