Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

202
Vistas
¿Cómo extraer campos de este objeto JSON de AWS SecretsManager?

Estoy utilizando el administrador de AWS Secrets para proteger los créditos de la base de datos de mi API REST. Estoy usando AWS Lambda, API Gateway y RDS (MySQL). A continuación se muestra cómo los obtengo.

 // Load the AWS SDK var AWS = require('aws-sdk'), region = "us-east-1", secretName = "test-secret", secret, decodedBinarySecret; // Create a Secrets Manager client var client = new AWS.SecretsManager({ region: region }); // In this sample we only handle the specific exceptions for the 'GetSecretValue' API. // See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html // We rethrow the exception by default. exports.handler = (event, context, callback) => { client.getSecretValue({ SecretId: secretName }, function(err, data) { if (err) { throw err } else { // Decrypts secret using the associated KMS CMK. // Depending on whether the secret is a string or binary, one of these fields will be populated. if ('SecretString' in data) { secret = data.SecretString; } else { let buff = new Buffer(data.SecretBinary, 'base64'); decodedBinarySecret = buff.toString('ascii'); } } // Your code goes here. console.log(secret); }); };

A continuación se muestra la salida

 INFO {"username":"***","password":"***","engine":"mysql","host":"***.***.us-east-1.rds.amazonaws.com","port":3306,"dbname":"***","dbInstanceIdentifier":"***"}

Traté de extraer la contraseña como a continuación

 let pass = secret.password; console.log(pass);

Dio lo siguiente

 INFO undefined

¿Cómo puedo extraer campos como password , nombre de username , nombre de la base de databasename , etc.?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Al principio, obtienes secret como data.SecretString , luego ahora secret solo es una cadena normal. En su caso, es una cadena JSON, debe convertir su cadena en un objeto JSON, luego puede acceder fácilmente a la información por nombre de atributo.

Para hacer eso, puede usar el método JSON.parse para convertir una cadena json en un objeto json:

 var secret = `{"username":"***","password":"***","engine":"mysql","host":"***.***.us-east-1.rds.amazonaws.com","port":3306,"dbname":"***","dbInstanceIdentifier":"***"} `; const secretObj = JSON.parse(secret); console.log(secretObj.host)

over 4 years ago · Santiago Trujillo Denunciar

0

Esta salida es un objeto literal JSON, por lo que puede acceder a cada objeto con el siguiente formato:

 secret.password 

 const secret= {"username":"yourusername","password":"Pa$$w0rd","engine":"mysql","host":"***.***.us-east-1.rds.amazonaws.com","port":3306,"dbname":"***","dbInstanceIdentifier":"***"}; console.log(secret.password); console.log(secret.username); document.getElementById("secret").innerHTML = secret.password;
 <p> Your Password is : <span id="secret"></span> </p>

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda