Obteniendo credenciales faltantes en la configuración, si usa AWS_CONFIG_FILE, establezca AWS_SDK_LOAD_CONFIG=1 a pesar de tener credenciales en el archivo de configuración.
Tengo una aplicación basada en typescript/node en la que la siguiente línea de código está lanzando un error:
const res = await s3.getObject(obj).promise();
El error que obtengo en la salida del terminal es:
❌ Faltan credenciales en la configuración, si se utiliza AWS<em>CONFIG</em>FILE, establezca AWS<em>SDK</em>LOAD_CONFIG=1
CredentialsError: Faltan credenciales en la configuración, si se utiliza AWS<em>CONFIG</em>FILE, establezca AWS<em>SDK</em>LOAD_CONFIG=1
Sin embargo, realmente tengo un archivo de credenciales en mi directorio .aws con los valores de aws_access_key_id
y aws_secret_access_key
. También he exportado los valores de estos con las variables AWS_ACCESS_KEY_ID
y AWS_SECRET_ACCESS_KEY
. También he intentado esto con y sin ejecutar export AWS_SDK_LOAD_CONFIG=1
, pero sin éxito (el mismo mensaje de error). ¿Alguien podría proporcionar posibles causas/sugerencias para continuar con la solución de problemas?
davy.ai
Parece que a pesar de tener el archivo de credenciales adecuado y las variables de entorno configuradas, el SDK de AWS aún no puede encontrar las credenciales necesarias para autenticar las solicitudes a S3. Aquí hay algunos pasos de solución de problemas que se pueden tomar:
aws_access_key_id
yaws_secret_access_key
estén correctamente formateados y coincidan con las credenciales del usuario/rol IAM objetivo.~/.aws/config
, si está presente, contenga la configuración necesaria para la región y el perfil que se utilizarán en la aplicación, en caso de que no se estén pasando como argumentos al cliente S3.Credentials
utilizando la bibliotecaaws-sdk
y pasándolo como parámetro en la opcióncredentials
al crear el cliente S3. Esto puede ayudar a evitar posibles problemas con el SDK que no recoge correctamente el archivo de credenciales o las variables de entorno.En general, puede haber varias razones por las cuales el SDK de AWS no puede encontrar las credenciales necesarias para la solicitud de S3, por lo que puede requerir una depuración más detallada para aislar la causa raíz.