В этой статье мы рассмотрим, как включить доступ 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
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.