AWS Lambda: тестирование интеграции Java

Есть ли способ создать правильный интеграционный тест для нескольких AWS Lambdas, взаимодействующих друг с другом через тему AWS SNS?

Я развернул две лямбды с помощью Java.

  • Первый подписан на AWS SNS_topiC# 1. Он фильтрует и преобразует сообщение SNS и помещает измененные данные в SNS_topiC# 2.
  • Вторая лямбда подписана на SNS_topiC# 2. Он изменяет сообщение SNS и выполняет HTTP-запрос на внешнюю конечную точку.

Мне нужно построить тест сквозной интеграции, чтобы проверить взаимодействие в целом.

Добавьте больше деталей с полным сценарием. Я могу вам в этом угрюмо помочь.

Shivang Agarwal 08.08.2018 12:55

@ShivangAgarwal Спасибо за внимание. В основной вопрос я добавил дополнительную информацию.

Mihail Gogol 08.08.2018 13:33

Вам просто нужно добавить какое-то уведомление, для которого вы фильтруете, и весь поток будет выполняться автоматически. Не так ли?

Shivang Agarwal 08.08.2018 13:44

@ShivangAgarwal Да. Наконец, мне нужно построить сложный сквозной локальный тест. Итак, мне нужно эмулировать тему SNS с помощью лямбда-подписки, чтобы проверить правильность работы обеих лямбда-выражений в действии.

Mihail Gogol 08.08.2018 14:07

Гоголю не нужно строить какие-то сложные решения, пожалуйста, пройдите мой ответ.

Shivang Agarwal 08.08.2018 14:41
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
931
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать amazon-cli, если хотите протестировать его на местном уровне.

amazon-cli поможет вам вручную запустить lamda с помощью команды aws lambda.

Пожалуйста, установите amazon-cli на своем локальном компьютере с эта ссылка.

После этого вы можете вызвать amazon 1st lamda из своего cli с помощью команды aws lamda. Он поставляется с множеством опций, таких как передача полезной нагрузки (в реальном сценарии предполагается, что она будет передаваться из SNS).

Подробное описание выполнения AWS Lamda из команды Amazon-CLI

Пример команды:

aws lambda invoke --function-name your_function_name --invocation-type RequestResponse outfile.txt --payload file:requestFile.txt

Я надеюсь, что это помогает.

Спасибо. как я понимаю: нет возможности строить старые плановые интеграционные тесты автоматизации ...

Mihail Gogol 08.08.2018 15:32

На самом деле есть способ получше, вы должны проверить https://github.com/localstack/localstack и https://github.com/localstack/localstack-java-utils Эти два инструмента помогут вам протестировать бессерверные приложения, созданные на AWS.

Другие вопросы по теме