DevOps: AWS Лямбда .zip с Terraform - PullRequest
       1

DevOps: AWS Лямбда .zip с Terraform

3 голосов
/ 28 февраля 2020

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

Ключевой раздел кода:

resource "aws_lambda_function" "meta_lambda" {
              filename = "get_resources.zip"
              source_code_hash = filebase64sha256("get_resources.zip")
              .....

Теперь, чтобы перенести это в другие среды, у меня есть в pu sh мой Terraform через Azure DevOps. Однако, когда я пытаюсь встроить DevOps, я получаю следующее:

Ошибка: ошибка при вызове функции в строке 140 main.tf, в ресурсе "aws_lambda_function" "meta_lambda": 140: source_code_ha sh = filebase64sha256 ("get_resources.zip") Сбой вызова функции "filebase64sha256": файл get_resources.zip не существует.

У меня такое ощущение, что мне не хватает ключевой концепции, поскольку я можете увидеть .zip в репозитории - поэтому не понимаете, как он не найден при сборке?

Любые подсказки / подсказки относительно того, что я делаю неправильно, с благодарностью приветствуем.

enter image description here

Ответы [ 2 ]

1 голос
/ 08 марта 2020

Парни, я боюсь, что, возможно, я только что был здесь над головой - новичок в terraform & DevOps!
Я поговорил с нашими (более) техническими людьми, и они отсортировали это.

Причина, по которой я считаю вашу причину неудачи, заключается в том, что на шаге Tar Terraform нужно использовать другую командную строку, чтобы он включал zip-файл в артефакты. tar -cvpf terraform.tar .terraform .tf tfplan tar --recursion -cvpf terraform.tar --exclude = ' /. git' --exclude = '. gitignore'.

.. это что-то значит для тебя! Что бы они ни делали, это работает!

Поскольку за это есть щедрость, я все равно собираюсь назначить ее, так как я благодарен за ввод! Извините, если это была ошибка ie.

0 голосов
/ 02 марта 2020

Согласно примеру документа, в аргументе source_code_hash, filebase64sha256 ("get_resources.zip") необходимо заключить в двойные кавычки.

enter image description here

Подробнее см. В этом документе .

...