Рабочий процесс для тестирования лямбда-политик с локальным сервером 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
Другие вопросы по тегам