Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

334
Visualizações
Credenciales faltantes en la configuración, si usa AWS_CONFIG_FILE, establezca AWS_SDK_LOAD_CONFIG=1

Cuando intento cargar las credenciales de AWS en mi proyecto, me devuelve un error.

Cuando uso credenciales en texto sin formato, todo funciona bien, pero cuando intento usar variables de entorno, no funciona.

Mensaje de error. :

 Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1

Aquí está mi código probado:

 const AWS = require('aws-sdk'); const SESConfig = { apiVersion: "2010-12-01", accessKeyId: process.env.AWS_SECRET_KEY, accessSecretKey: process.env.AWS_SECRET_KEY, region: "us-east-1" } AWS.config.update(SESConfig); var sns = new AWS.SNS() var sns = new AWS.SNS(); function sendSMS(to_number, message, cb) { sns.publish({ Message: message, Subject: 'Admin', PhoneNumber:to_number }, cb); } // Example const PhoneNumberArray = ['any mobile number'] PhoneNumberArray.forEach(number => { sendSMS(number, "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", (err, result)=>{ console.log("RESULTS: ",err,result) }) })
over 4 years ago · Santiago Trujillo
10 Respostas
Responde à pergunta

0

Instalar dotenv

 npm install dotenv --save

Cree un archivo .env y agregue sus Variables

 AWS_ACCESS_KEY=1234567890 AWS_SECRET_KEY=XXXXXXXXXXXXXXXXXXX

Carga dotenv en tu proyecto

 require('dotenv').config();

Código completo

 require('dotenv').config(); const AWS = require('aws-sdk'); const SESConfig = { apiVersion: "2010-12-01", accessKeyId: process.env.AWS_ACCESS_KEY, accessSecretKey: process.env.AWS_SECRET_KEY, region: "us-east-1" } AWS.config.update(SESConfig); var sns = new AWS.SNS(); function sendSMS(to_number, message, cb) { sns.publish({ Message: message, Subject: 'Admin', PhoneNumber:to_number }, cb); } const PhoneNumberArray = ['any mobile number'] PhoneNumberArray.forEach(number => { sendSMS(number, "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", (err, result)=>{ console.log("RESULTS: ",err,result) }) })
over 4 years ago · Santiago Trujillo Relatório

0

Puede intentar crear un AWS_PROFILE con las credenciales si tiene instalada la CLI de AWS.

 $ aws configure --profile testuser AWS Access Key ID [None]: 1234 AWS Secret Access Key [None]: 1234 Default region name [None]: us-east-1 Default output format [None]: text

Después de eso, puede configurar AWS_PROFILE como variable de entorno.

linux / mac

 export AWS_PROFILE=testuser

ventanas

 setx AWS_PROFILE testuser

Después de eso, debería poder ejecutar su programa y AWS obtendrá las credenciales de su perfil. De esta manera, no tiene que guardar sus credenciales en .ENV. Si lo hace, recuerde agregarlo en .gitignore.

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

over 4 years ago · Santiago Trujillo Relatório

0

Noté que está configurando su accessKeyId y secretAccessKey en la misma variable de entorno.

 const SESConfig = { apiVersion: "2010-12-01", accessKeyId: process.env.AWS_SECRET_KEY, // should be: process.env.AWS_ACCESS_ID secretAccessKey: process.env.AWS_SECRET_KEY, region: "us-east-1" }

Estos se proporcionan como valores separados por aws y deben estar representados por dos variables de entorno separadas. ¿Quizás este es tu problema?

over 4 years ago · Santiago Trujillo Relatório

0

De forma predeterminada, el SDK detecta las credenciales de AWS establecidas en su entorno y las utiliza para firmar solicitudes a AWS. De esa manera, no necesita administrar las credenciales en sus aplicaciones.

Unix:

 $ export AWS_ACCESS_KEY_ID="your_key_id" $ export AWS_SECRET_ACCESS_KEY="your_secret_key"

Ventanas:

 > set AWS_ACCESS_KEY_ID="your_key_id" > set AWS_SECRET_ACCESS_KEY="your_secret_key"

también puede agregar $ export AWS_SESSION_TOKEN='your_token' (opcional)

Consulte aws-sdk para obtener más detalles.

o cree un archivo ~/.aws/credentials y agregue:

 [default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

Consulte aws para obtener más detalles.

over 4 years ago · Santiago Trujillo Relatório

0

Tenga en cuenta que los nombres de las variables en ~/.aws/credentials distinguen entre mayúsculas y minúsculas. eso fue lo que causo mi problema

over 4 years ago · Santiago Trujillo Relatório

0

funcionó después de que seguí los nombres exactos de la guía aws para los env vars

https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-environment.html

 AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN (Optional)
over 4 years ago · Santiago Trujillo Relatório

0

Simplemente puede cargar las credenciales a través de un archivo config.json dedicado.

 { "accessKeyId": "<YOUR_ACCESS_KEY_ID>", "secretAccessKey": "<YOUR_SECRET_ACCESS_KEY>", "region": "eu-west-3" }

Luego use el comando de carga de AWS

 AWS.config.loadFromPath('./config.json');

En este caso, no necesitaría actualizar la configuración de AWS AWS.config.update(...); como se hace directamente desde el gecko.

Tenga en cuenta que:

No se admite la carga de credenciales desde un documento JSON en las secuencias de comandos del navegador.

  • Fuente @ https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-json-file.html
over 4 years ago · Santiago Trujillo Relatório

0

Pude solucionar este problema especificando una apiVersion

 AWS.config.update({ region: 'MY_REGION', apiVersion: 'latest', credentials: { accessKeyId: 'MY_ACCESS_KEY', secretAccessKey: 'MY_SECRET_KEY' } })
over 4 years ago · Santiago Trujillo Relatório

0

Encontré un problema similar, así que vi algunos videos y leí un montón de documentación. En el archivo dotenv, intente crear el usuario de IAM al que desea otorgar permiso para acceder a la cuenta AWS_PROFILE="exampleProfile" , este debería ser el mismo usuario que de donde obtuvo su clave de acceso y secreto, luego requiere que se vea más o menos así.

 const SESConfig = { apiVersion: "2010-12-01", profile:process.env.AWS_PROFILE, accessKeyId: process.env.AWS_ACCESS_KEY, accessSecretKey: process.env.AWS_SECRET_KEY, region: "us-east-1" }
over 4 years ago · Santiago Trujillo Relatório

0

He almacenado todas las credenciales en mi propio archivo de configuración. Para Windows, lo resolví agregando una variable de entorno a mi aplicación nodejs en .env.local

 AWS_SDK_LOAD_CONFIG=1
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda