Рабочий процесс для тестирования лямбда-политик с локальным сервером SAM AWS
В локальной документации aws SAM говорится, что SAM Local будет вызывать функции с моими локально настроенными учетными данными IAM.
Я хочу протестировать шаблон облачной информации, который состоит из лямбда-функции и роли, связанной с этой функцией, которая предоставляет доступ для удаления содержимого корзины ONE SPECIFIC s3. Имя сегмента является и параметром шаблона, и аргументом лямбда-функции. (Не уверен, что это имеет значение, но я не использую безсерверные преобразования в шаблоне CFN.)
Я избегаю тестирования этой функции с моим профилем администратора, так как опечатка в имени корзины удалит все содержимое неправильной корзины.
Каков рекомендуемый рабочий процесс для тестирования такой функции?
Что я сейчас делаю:
- Создать временного пользователя / группы IAM
- прикрепить политику для тестирования к этой группе
- экспортировать переменные среды доступа перед вызовом
sam local invoke
Есть ли более быстрый способ сделать это?
1 ответ
Вызвать лямбду с помощью DryRun
Вызовите функцию с помощью Dryrun, чтобы запросить AWS Lambda не выполнять функцию, но выполнить некоторую проверку, например, если вызывающий абонент имеет право вызвать функцию и допустимы ли входные данные.
aws lambda invoke --function-name <name> --invocation-type DryRun
Создание наборов изменений для облачной информации: наборы изменений = режим пробного запуска
Создайте набор изменений с помощью "create-change-set" и просмотрите изменения в пользовательском интерфейсе консоли или интерфейсе командной строки, а затем примените изменения, используя изменения выполнения, используя интерфейс командной строки или интерфейс пользователя.
Создать Changeset:
aws cloudformation create-change-set --stack-name example --template-body file://templates/instance_and_route53.yml --parameters file://parameters/instance_and_route53.json --change-set-name changeset-1
Выполнить ревизию
aws cloudformation execute-change-set --stack-name example --change-set-name changeset-1