Я пытаюсь изменить настройку максимального возраста события для Lambdas, используя скрипт bash. В настоящее время сервер не поддерживает этот параметр, поэтому я планирую выполнить его как сценарий bash после развертывания из GitHub.
Подход:
Я рассматриваю вопрос aws для Lambdas в заданном c стеке CloudFormation. Я предполагаю, что при развертывании репо создается новый стек CF. Затем я хочу перебрать функции и с помощью put-function-event-invoke-config
изменить максимальный возраст события для каждой лямбды.
Проблема:
Кажется, для put-function-event-invoke-config
требуется имя функции При запросе стеков CF вместо этого я получаю лямбда-ARN. Я мог бы сделать некоторые манипуляции со строками, чтобы получить только лямбда-имя, но это кажется грязным способом сделать это.
Я на правильном пути с этим? Есть ли лучший способ?
Редактировать:
Лямбды уже существуют и были развернуты. Я думаю, что мне нужно сделать, это запустить какой-то скрипт, который может go просмотреть список лямбд, которые были развернуты из одного репозитория (в одной среде развернуто несколько репо), и изменить максимальное настройка возраста события по умолчанию 6 часов.
Вот пример выходных данных, когда я использую CLI для запроса CFN с aws cloudformation describe-stacks
:
{
"StackId": "arn:aws:cloudformation:us-east-1:***:stack/my-repository-name/0sdg70gfs-6124-12ea-a910-93c4ahj3d140",
"StackName": "my-repository-name",
"Description": "The AWS CloudFormation template for this Serverless application",
"CreationTime": "2019-11-18T22:05:44.246Z",
"LastUpdatedTime": "2019-03-19T23:26:04.382Z",
"RollbackConfiguration": {},
"StackStatus": "UPDATE_COMPLETE",
"DisableRollback": false,
"NotificationARNs": [],
"Capabilities": [
"CAPABILITY_IAM",
"CAPABILITY_NAMED_IAM"
],
"Outputs": [
{
"OutputKey": "TestLambdaFunctionQualifiedArn",
"OutputValue": "arn:aws:lambda:us-east-1:***:function:my-test-function:3",
"Description": "Current Lambda function version"
},
Я знаю, что можно выполнить эту команду, чтобы изменить максимальный возраст события :
$ aws lambda --region us-east-1 put-function-event-invoke-config --function-name my-test-function --maximum-event-age-in-seconds 3600
Но, похоже, требуется --function-name
, которого я не вижу в выводе CFN в запросе выше.
Как программно go выполнить все функции в стеке CFN и изменить настройки для максимального возраста события?