创建Lambda之前Terraform执行脚本 [英] Terraform execute script before lambda creation

查看:66
本文介绍了创建Lambda之前Terraform执行脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Terraform配置,可以在提供了zip文件的aws上正确创建lambda函数.

I have a terraform configuration that correctly creates a lambda function on aws with a zip file provided.

我的问题是,我总是必须首先打包lambda(为此我使用无服务器打包方法),因此我想执行一个脚本来打包我的函数,然后在terraform创建lambda之前将zip移到正确的目录中.功能.

My problem is that I always have to package the lambda first (I use serverless package method for this), so I would like to execute a script that package my function and move the zip to the right directory before terraform creates the lambda function.

有可能吗?也许结合使用null_resource和local-exec?

Is that possible? Maybe using a combination of null_resource and local-exec?

推荐答案

您已经提出了最佳答案:)

You already proposed the best answer :)

在向lambda资源添加 depends_on = ["null_resource.serverless_execution"] 时,可以确保在上载zip文件之前先进行打包.

When you add a depends_on = ["null_resource.serverless_execution"] to your lambda resource, you can ensure, that packaging will be done before uploading the zip file.

示例:

resource "null_resource" "serverless_execution" {
  provisioner "local-exec" {
    command = "serverless package ..."
  }
}

resource "aws_lambda_function" "update_lambda" {
  depends_on = ["null_resource.serverless_execution"]
  filename   = "${path.module}/path/to/package.zip"
  [...]
}

https://www.terraform.io/docs/provisioners/local-exec.html

这篇关于创建Lambda之前Terraform执行脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆