- Más nuevo
- Más votos
- Más comentarios
One option would be to change the way you build Lambda functions in your stack code. Instead of using new lambda.Function()
, you could use lambda.fromFunctionName()
or lambda.fromFunctionArn()
to point to an existing Lambda function that you have uploaded previously using some other method.
However, this is not a best practice. The better practice would be to deploy the stack using AWS CodeBuild, which can run your CDK application for you in a Linux container context.
I have pretty much the same question as I also want to use the CloudFormation template in the AWS Marketplace.
I'm currently building lambdas as Asset
s and it's convenient, but they end up in a private stack-specific S3 bucket.
My understanding is that for the lambdas to be accessible by customers deploying the template, they need to be built "out of stack" (e.g. using a build script) and uploaded to a public S3 bucket. Is that correct?
Contenido relevante
- ¿Cómo puedo hacer una llamada al SDK de AWS desde un proyecto de CDK mediante la interfaz AWSdkCall?OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace 4 meses
- OFICIAL DE AWSActualizada hace un año
Thank you @Michael_F! So the lambda itself should probably not be deployed as part of this stack and rather referenced by its ARN, is that right? Could you please elaborate on why this is not a best practice, and why the stack should be deployed using AWS CodeBuild? As I mentioned earlier, we're mainly interested in the template generated by "cdk synth" and would like that template to be reusable so that we can use it independently to deploy stacks in CloudFormation. We also want to make the template available through the AWS marketplace. Thanks!