【问题标题】:Issue with AWS Lambda Alias and Provisioned ConcurrencyAWS Lambda 别名和预置并发问题
【发布时间】:2021-11-20 07:24:45
【问题描述】:

这没有问题:Issue with Creating Application Auto Scaling with AWS Lambda using Terraform

我在我的 terraform 中放置了一个 Lambda 别名,我将在我的预置并发配置中使用它。在 aws_lambda_provisioned_concurrency_config 资源创建过程中出现以下错误:

Error: error getting Lambda Provisioned Concurrency Config (arn:aws:lambda:us-east-1:<AWS-ACCOUNT-#>:function:foo:PC): ValidationException: status code: 400, request id: 82c5e589-d455-4d53-abea-bac8e5b5a2ea

我的地形如下:

resource "aws_lambda_alias" "foo_pc" {
  name             = "PC"
  description      = "foo PC Alias"
  function_name    = aws_lambda_function.foo.arn
  function_version = aws_lambda_function.foo.version
}

resource "aws_lambda_provisioned_concurrency_config" "foo_provisioned_concurrency" {
  function_name                     = aws_lambda_alias.foo_pc.function_name
  provisioned_concurrent_executions = var.PCInit
  qualifier                         = aws_lambda_alias.foo_pc.name
}

我希望别名指向 lambda 的最新部署。我不能在我的 lambda 别名中使用我的 aws_lambda_function.foo.version 吗?

【问题讨论】:

    标签: amazon-web-services terraform


    【解决方案1】:

    来自AWS docs,万一 Lambda 提供并发自动缩放:

    Lambda 预置并发 - 资源类型是函数,唯一标识符是函数名称,函数版本或别名后缀不是 $LATEST。示例:function:my-function:prodfunction:my-function:1

    如果是别名,资源 id 应该如下所示:

    resource_id = "function:${aws_lambda_function.foo.name}:${aws_lambda_alias.foo_pc.name}"
    

    错误消息更新:

    在 GitHub 中报告了提供程序的一个未解决问题:https://github.com/hashicorp/terraform-provider-aws/issues/12923

    【讨论】:

    • 问题不在于 aws_appautoscaling_target,而在于 aws_lambda_provisioned_concurrency_config。由于我上面报告的错误,它一直在该资源上失败。
    • 我明白了,有一个报告的错误。您可能想尝试一些来自 Github 的解决方法。我无法确定哪一个会起作用。
    猜你喜欢
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2018-12-21
    • 2020-10-24
    • 2018-09-19
    • 2016-10-27
    • 1970-01-01
    相关资源
    最近更新 更多