В этой статье мы рассмотрим, как включить доступ Java Lambda к экземпляру AWS RDS MySQL.
Предварительные условия:
Настройте экземпляр AWS RDS MySQL (см. Создание базы данных AWS RDS MySQL с помощью MySQL WorkBench ).
В этой статье мы будем придерживаться аналогичного подхода к разработке Java CDK Approach, как описано в статье Creating an AWS Serverless Java 11 Application with CDK (Lambda, S3, DynamoDb, API Gateway) .
Настройка проекта:
Создайте Java Lambda для запроса и обновления данных в этой базе данных.
Предположение: Вы уже настроили консоль AWS и среду Eclipse, как описано в разделе Начало работы с AWS, Java 11 (Amazon Corretto), Eclipse и AWS Toolkit .
cd c:\projects mkdir mysqljlambda cd mysqljlambda cdk init app --language java
2. Откройте проект в Eclipse
Файл -> Открыть проекты из файловой системы
Нажмите Finish
Теперь ваш Eclipse должен выглядеть следующим образом:
Убедитесь, что ваш Java Build Path настроен правильно с JavaSE-11 и Maven Dependencies выбран (щелкните правой кнопкой мыши на Project Explorer в Eclipse, чтобы открыть путь сборки):
Теперь мы будем работать над созданием Java Lambda для доступа к базе данных Postgres, которую мы создали выше.
Создайте класс AWS Lambda Handler GetRDSDataLambdaHandler, щелкнув правой кнопкой мыши в проводнике проекта New->Class
Обратитесь к коду, расположенному по адресу https://github.com/collin-smith/mysqljlambda для следующих 3 классов или файлов:
//MySQL RDS Configuration env.put("DBENDPOINT", "dbendpointforrdsmysl"); env.put("DATABASENAME", "santasworkshop"); env.put("USERNAME", "myusername"); env.put("PASSWORD", "mypassword");
(** В классе MysqljlambdaStack.java убедитесь, что информация RDS правильно настроена для вашего экземпляра в классе выше, чтобы подключиться к экземпляру RDS MySQL. Затем конечная точка может быть получена из консоли AWS для экземпляра RDS)
Введите "clean install" и нажмите run
После сборки вы сможете перейти в консоль cmd и выполнить следующие шаги для развертывания проекта в среде aws:
cd c:\projects\mysqljlambda cdk bootstrap
cdk synth
cdk deploy
Теперь конечная точка Lamdba должна быть развернута в вашей среде AWS, и у вас должна быть конечная точка, которую вы можете протестировать с помощью PostMan.
Вот как выглядит успешный запуск Lambda. Эта Lambda считывает записи из таблицы, а также вставляет запись в таблицу.
Это можно увидеть, выполнив следующую SQL-команду в клиенте MySQL WorkBench, чтобы убедиться, что Lambda вставила новую запись в базу данных MySQL.
SELECT * FROM LETTERHISTORY
Устранение неполадок:
Проверьте в группах журналов CloudWatch, есть ли у вас неожиданные ошибки для устранения неполадок. Я бы посмотрел на группы журналов для этой Lambda, чтобы лучше понять ошибки.
На этом мы закончим настройку Java Lambda-запроса и внесение обновлений в экземпляр MySQL RDS.
Очистка ресурсов:
Если вы закончили работу с экземпляром MySQL, перейдите в раздел RDS в консоли AWS и удалите экземпляр базы данных.
Также для удаления кода Lambda следует выполнить команду cdk destroy, чтобы удалить код, развернутый проектом cdk.
cdk destroy
06.02.2023 13:41
JavaScript является однопоточным, то есть он может обрабатывать только одну задачу за раз. Для обработки длительных задач, таких как сетевые запросы, ввод/вывод файлов или анимация, JavaScript использует асинхронную модель программирования.
06.02.2023 12:02
Если вы ищете надежных разработчиков PHP рядом с вами, вот список лучших компаний по разработке PHP.
05.02.2023 12:54
📌Примечание: В этой статье я покажу вам, как скрапировать поиск Apple App Store и получить точно такой же результат, как на Apple iMac, потому что результаты поиска на Mac полностью отличаются от результатов на PC. На скриншотах ниже показана разница:
04.02.2023 13:59
Hoisting - это поведение в JavaScript, при котором переменные и объявления функций автоматически "перемещаются" в верхнюю часть соответствующих областей. Это означает, что независимо от того, где они объявлены в вашем коде, они будут обрабатываться так, как если бы они были объявлены в верхней части...
04.02.2023 12:52
Angular - это фреймворк. Вы можете создать практически любое приложение без использования сторонних библиотек.