es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Implementando una función Lambda (no como parte de una aplicación) utilizando AWS CDK.

Estoy intentando desplegar unas cuantas funciones lambda con AWS CDK. El código pegado a continuación crea una aplicación Serverless y también un nuevo rol asociado. Sin embargo, para mi caso de uso solo se requieren funciones independientes. Entonces… ¿hay alguna opción en la API de CDK para crear solo la función (no la aplicación lambda)? ¿Podrías compartir tu sugerencia o experiencia al respecto?

new lambda.Function(this, 'History', {
  functionName: 'History',
  code: lambda.Code.fromAsset(path.join(__dirname, '../lambda/getHistory')),
  handler: 'index.handler',
  runtime: lambda.Runtime.NODEJS_14_X,
  environment: {
    ---
  },
  timeout: cdk.Duration.seconds(120),
  description: '---',
  // role:
});
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una opción en la API de AWS CDK para crear solo la función sin crear una aplicación Lambda. En lugar de usar “new lambda.Function”, puedes usar “new lambda.Function” con “definitionOnly: true” para definir la función sin implementarla.

    Ejemplo:

    const myFunction = new lambda.Function(this, 'MyFunction', {
      code: lambda.Code.fromAsset(path.join(__dirname, '../lambda/getHistory')),
      handler: 'index.handler',
      runtime: lambda.Runtime.NODEJS_14_X,
      environment: {
        ---;
      },
      timeout: cdk.Duration.seconds(120),
      description: '---',
      role: myRole,
      functionName: 'MyFunction',
      definitionOnly: true // Esto definirá la función sin implementarla
    });
    

    Este código definirá la función “MyFunction” sin implementarla. Luego puedes usar esta función como una función independiente en tu caso de uso.

Comments are closed.