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

203
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 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