【问题标题】:Sync Lambda Aliases with local Terraform state?将 Lambda 别名与本地 Terraform 状态同步?
【发布时间】:2020-01-12 15:56:14
【问题描述】:

请原谅这个问题——刚接触 terraform,试图理解别人的工作。

我是否可以通过某种方式创建/更新或重新同步我的本地 tfstate 以获取别名?

我们在.tf 定义中定义了一个包含 100 多个函数别名的列表。问题出现在我们的 tfstate 文件与预先存在的别名已过期。超过 100 个对象的部署失败,原因是

Error creating Lambda alias: ResourceConflictException: Alias already exists

我尝试terraform refresh 没有运气 - 仍然给出“别名已存在”错误。

示例资源:

resource "aws_lambda_alias" "admin_unlock_user_localhost" {
  name             = "${var.alias}"
  description      = "Deployment for localhost alias"
  function_name    = "${aws_lambda_function.admin_unlock_user.arn}"
  function_version = "${aws_lambda_function.admin_unlock_user.version}"
}

失败:

Error: Error creating Lambda alias: ResourceConflictException: Alias already exists: arn:aws:lambda:us-east-1:xxxxxxxx:function:identity-admin-unlock-user:localhost
    status code: 409, request id: b1a62d59-8b89-47a5-4ca8-0267536a3c7b

on lambda_localhost.tf line 323, in resource "aws_lambda_alias" "admin_unlock_user_localhost":
 323: resource "aws_lambda_alias" "admin_unlock_user_localhost"

【问题讨论】:

    标签: amazon-web-services aws-lambda terraform


    【解决方案1】:

    看了一圈,发现需要手动导入每一个来重新同步terraform:

    terraform import -var-file localhost.tfvars -var s3_folder=localhost_276 -var aws_profile=default aws_lambda_alias.admin_unlock_user_localhost identity-admin-unlock-user/localhost
    

    导入函数,重新部署部署!

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 2021-08-25
      • 1970-01-01
      • 2015-11-26
      • 2021-04-26
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多