Как настроить лямбда-псевдоним с тем же отображением источника событий, что и для LATEST / Unqualified лямбда-функции в terraform - PullRequest
2 голосов
/ 15 мая 2019

Я пытаюсь создать лямбда-псевдоним для моей лямбда-функции, используя terraform. Мне удалось успешно создать псевдоним, но в созданном псевдониме отсутствует динамическая база данных в качестве триггера.

как настроен источник события

resource "aws_lambda_event_source_mapping" "db_stream_trigger" {
    batch_size = 10
    event_source_arn = "${data.terraform_remote_state.testddb.table_stream_arn}"
    enabled = true
    function_name = "${aws_lambda_function.test_lambda.arn}"
    starting_position = "LATEST"
}

как создается псевдоним

resource "aws_lambda_alias" "test_lambda_alias" {
  count = "${var.create_alias ? 1 : 0}"
  depends_on       = [ "aws_lambda_function.test_lambda" ]
  name             = "test_alias"
  description      = "alias for my test lambda"
  function_name    = "${aws_lambda_function.test_lambda.arn}"
  function_version = "${var.current_running_version}"
  routing_config = {
    additional_version_weights = "${map(
        "${aws_lambda_function.test_lambda.version}", "0.5"
    )}"
  }
}

Лямбда работает с динамическим потоком в качестве триггера. Псевдоним для лямбды успешно создан. Псевдоним использует правильную версию Псевдоним использует правильный вес Псевдоним НЕ использует поток Dynamo-DB в качестве источника события

1 Ответ

0 голосов
/ 16 мая 2019

У меня неправильное имя функции для ресурса "aws_lambda_event_source_mapping". Я предоставлял ей арн лямбда-функции main , в отличие от арн лямбда-функции alias . Как только я переключил его на арн псевдонима, я смог успешно разделить трафик от потока в зависимости от веса!

Из документа aws:

Упрощение управления сопоставлениями источников событий. Вместо использования имен ресурсов ARN Amazon для функции Lambda в сопоставлениях источников событий можно использовать псевдоним ARN. Этот подход означает, что вам не нужно обновлять сопоставления источника событий, когда вы продвигаете новую версию или возвращаетесь к предыдущей версии. https://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html

...