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

306
Vistas
Cambiar el valor de la variable de entorno al invocar la función Lambda

Estoy aprendiendo lambda y actualmente estoy tratando de entender las variables de entorno. A continuación se muestra un código muy simple para mostrar mi pregunta. (Una función de nodejs que simplemente imprimirá el valor de la constante de nombre).

 exports.handler = async function(event, context) { const name = process.env.NAME; return name; };

Ya he definido una variable de entorno en lambda de la siguiente manera

ingrese la descripción de la imagen aquí

Ahora, esta lambda seguramente imprimirá "xyz" después de completarse. Pero, ¿cómo podemos sobrescribir/cambiar el valor de la variable "Nombre" mientras ejecutamos Lambda. entonces, al invocarlo, ¿mostrará el nuevo valor? Por ejemplo algo como --NOMBRE = "abc" o --NOMBRE abc

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Desde AWS Knowledge Center: ¿Puedo cambiar las variables de entorno en una versión publicada de mi función Lambda? :

No puede cambiar la configuración (incluidas las variables de entorno) ni el código de función en una versión de función de Lambda publicada. Solo puede cambiar la versión actual de la función no publicada ($ÚLTIMO).

Entonces, a menos que su Lambda se conecte a la API de AWS y publique una versión completamente nueva de sí mismo, no puede.

Parece que está tratando de usar variables de entorno como un espacio de almacenamiento local que, fundamentalmente, no lo son. Probablemente estaría mejor con una base de datos. Buscaría usar DynamoDB para esto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

De la pregunta original y los comentarios, reuní los siguientes requisitos para su Lambda:

  1. Quiere hablar con la API de Route53.
  2. Desea parametrizar Lambda para permitir pasar un nombre de dominio a Lambda en cada invocación.

La forma más fácil y probablemente más adecuada de lograr esto es pasar el dominio como datos de "evento" en cada invocación.

 exports.handler = async (event) => { const domain = event["domain"]; console.log("Domain: %s", domain); // your Route53 code goes here... };

Para ejecutar Lambda y pasar el "dominio" tiene muchas opciones.

Opción 1: Consola de AWS

Puede ir a la consola de AWS, abrir Lambda, cambiar a la pestaña "Prueba" y simplemente usar el siguiente JSON de entrada:

 { "domain": "www.google.com" }

Invocar Lambda en la consola de AWS

Opción 2: AWS CLI v2

Desde la línea de comandos, puede invocar ese Lambda utilizando la CLI de AWS .

 aws \ lambda \ invoke \ --cli-binary-format raw-in-base64-out \ --function-name <function-name> \ --payload '{"domain":"www.google.com"}' \ outfile.txt

Opción 3: SDK de AWS

También puede escribir algún código en otro Lambda, en un script en su máquina local o de cualquier otra forma que pueda usar AWS Lambda e invocar a Lambda de esta manera.

El siguiente es un ejemplo de "código" CLI de NodeJS simple que utiliza la versión 3 del SDK de AWS.

 import { LambdaClient, InvokeCommand } from "@aws-sdk/client-lambda"; async function main() { const client = new LambdaClient({ region: "<your-region>" }); const payload = JSON.stringify({ "domain": "www.google.com" }); const input = { "FunctionName": "<function-name>", "Payload": payload }; const command = new InvokeCommand(input); const response = await client.send(command); console.log(response); } main()

Si ejecuta node index.js , invocará Lambda con la carga útil dada.

Para configurar el nodo:

 npm init npm install @aws-sdk/client-lambda

Recuerde establecer type en module en el package.json .

about 4 years ago · Juan Pablo Isaza 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