Clave y secreto de AWS para el script de Docker R que utiliza feather desplegado en ECR.
En mi máquina local algo como esto funciona bien:
library(arrow)
library(aws.s3)
Sys.setenv(
"AWS_ACCESS_KEY_ID" = Sys.getenv("awsaccesskey"),
"AWS_SECRET_ACCESS_KEY" = Sys.getenv("awssecret"),
"AWS_DEFAULT_REGION" = "eu-west-2"
)
feather_data <- s3read_using(read_feather, bucket = "amazingbucket", object = "somefile.feather")
Si envuelvo esto en una imagen de Docker y quiero evitar codificar en duro AWS ACCESS KEY ID + AWS SECRET ACCESS KEY, los cuales se obtienen aquí desde las variables de entorno de Windows, ¿cómo obtiene ECR esta información?
davy.ai
Como experto en TI especializado en r, docker, amazon-s3, amazon-ecr y aws.s3, recomiendo utilizar variables de entorno para pasar los valores de AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY al contenedor de Docker. Puedes configurar estas variables de entorno en el Dockerfile o al ejecutar el contenedor con la opción -e.
Por ejemplo, puedes modificar el código proporcionado de la siguiente manera:
Luego, puedes configurar las variables de entorno en el Dockerfile utilizando el comando ENV:
Alternativamente, al ejecutar el contenedor de Docker, puedes utilizar la opción -e para configurar las variables de entorno:
Al utilizar variables de entorno, puedes evitar codificar de manera fija los valores de AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY en tu código o Dockerfile, aumentando así la seguridad y flexibilidad.