У меня есть код terraform, который создает функцию Lambda. Затем у меня есть некоторый код ruby, который является лямбда-функцией. Я не могу понять, или найти какую-либо информацию о том, как на самом деле использовать переменные, которые передаются из terraform в лямбду. В конечном итоге мне просто нужно знать, как использовать переменные terraform в лямбда-функции ruby
Я нашел примеры в Python и JS. Сходств мало.
Вот мой терраформный код
resource "aws_lambda_function" "send_sns_lambda" {
filename = "statuslambda.zip"
function_name = "status-page-send-sns"
source_code_hash = "${data.archive_file.status_lambdas.output_base64sha256}"
role = "${aws_iam_role.status_lambda.arn}"
handler = "statusLambda.send_sns"
runtime = "ruby2.5"
vpc_config = {
subnet_ids = ["subnet-xxxx", "subnet-xxxxx"]
security_group_ids = ["sg-xxxxxx"]
}
environment = {
variables = {
status = "Major Outage"
}
}
}
И моя лямбда-функция
def send_sns(event:,context:)
sns = Aws::SNS::Resource.new(region: 'us-xxx-xxx')
topic = sns.topic('arn:aws:sns:us-east-1:xxxxxxxx')
topic.publish({
message: '#{status}'
})
end
Идея состоит в том, что переменная status
в terraform передается в переменную состояния в коде ruby
Вот пример Python, который я нашел
import os
def lambda_handler(event, context):
return "{} from Lambda!".format(os.environ['greeting'])