Я хочу иметь возможность развертывать некоторые файлы сценариев в aws lambda с помощью файла terraform.
Вот мой файл:
terraform {
required_version = "0.11.7"
}
variable "region" {}
provider "aws" {
region = "${var.region}"
version = "2.00"
}
// Zip the scripts folder (thus creating a package) before supplying it to the lambda function.
data "archive_file" "package_zip" {
type = "zip"
source_dir = "${path.root}/scripts/" # Path from top level module.
output_path = "./sources.zip"
}
resource "aws_lambda_function" "anthony_test_lambda" {
filename = "lambda_function_payload.zip"
function_name = "anthony_test_lambda"
role = "new-role"
handler = "lambda_function.lambda_handler"
source_code_hash = "${data.archive_file.package_zip.output_base64sha256}"
runtime = "python3.7"
}
Я хочу, чтобы сценарий был как можно более гибким, потому что, возможно, я не единственный, кто будет работать над сценарием в будущем.
Я хочу иметь возможность управлять процессом с помощью профиля AWS. Вот что я пробовал:
export AWS_PROFILE=a_team
tf apply
У меня такая ошибка:
* provider.aws: No valid credential sources found for AWS Provider.
Please see https://terraform.io/docs/providers/aws/index.html for more information on
providing credentials for the AWS Provider
Я не могу использовать идентификатор и секрет ключа доступа AWS.
Как я могу исправить эту проблему?
Возможно, возникла проблема с переменной среды AWS_PROFILE, убедитесь, что параметры AWS_SECRET_ACCESS_KEY и AWS_ACCESS_KEY_ID не установлены. Это гарантирует, что ключи, которые он принимает через переменную среды, взяты из переменной среды AWS_PROFILE.
См. Раздел «Переменная среды» в https://www.terraform.io/docs/providers/aws/index.html статья о том, как установить переменные среды для секретных ключей и ключей доступа.