##AWS
Se implementan dos formas para la obtencion de las credenciales de aws, por el archivo
credentialsy por variables de ambiente.
El archivo credentials debe estar ubicado en el HOME del usuario:
~/.aws/credentials
~/ cat .aws/credentials
[default]
aws_secret_access_key=aaaa
aws_access_key_id=zzzz
Para la implementación de las credienciales verificar en el resultado del siguiente Compare en gitHub los cambios a los siguientes archivos:
rest/src/main/java/com/isortegah/rest/ApiRestService.javarest/src/main/java/com/isortegah/rest/RestConfiguration.javaaws/pom.xmaws/src/main/java/com/isortegah/aws/AwsCredentials.javaaws/src/main/java/com/isortegah/aws/AwsS3.javadtos/src/main/java/com/isortegah/dtos/configAws/ConfigAws.java
Para el caso de las credenciales vía variables de ambiente el proceso es el siguiente:
- Exportar las variables:
export AWS_ACCESS_KEY_ID="xyz" export AWS_SECRET_ACCESS_KEY="aaa"En MacOs y Linux agregarlas en el archivo .bashrc o .bash_profile y recargarlo.
source .bash_profilePara Windows usar el comando:
set AWS_ACCESS_KEY_ID="xyz" set AWS_SECRET_ACCESS_KEY="aaa"Lo anterior para poder ejecutar el comando:
java -jar rest/target/rest-0.1-SNAPSHOT.jar server config.yml - En el archivo
config.ymlcambiar el valorFileporEnvironment.aws: credentialProvider: Environment
Para la implementación de las credenciales vía variables de ambiente ver la siguiente Comparación en github, los archivos a revisar son:
aws/src/main/java/com/isortegah/aws/AwsCredentials.java
Ejecución
Se presentan las siguientes opciones de ejecución de la imagen docker.
- De forma directa:
docker run -it -p 8080:8080 -e PORT=8080 -e AWS_ACCESS_KEY_ID=xyzqwd -e AWS_SECRET_ACCESS_KEY=aaa fba5ce1e06db
- Vía docker-compose:
- Crear archivo
docker-compose.yml```yml version: ‘3’ services: web: image: api-rest env_file:- ./.env environment:
- AMBIENTE=”DEV” ports:
- “8080:8080” ```
- Crear archivo
-
- Crear archivo
.envdonde registraremos las variables de ambiente
- Crear archivo
AWS_ACCESS_KEY_ID=xyz
AWS_SECRET_ACCESS_KEY=aaa
Nota: Lo recomendable por practico y seguro, cuando ejecutemos en local, es usar el docker-compose, en el caso que estemos desarrollando podemos utilizar el archivo de credenciales.