<aside> 💡

Lambdaの環境変数で実施する

</aside>

1. LambdaはVPCに入れてRDSに接続(VPCあり)

2. パスワード・ユーザー名・JDBC URLは「Lambdaの環境変数」に登録する

Lambda関数の設定から「環境変数」を設定

キー
DB_URL jdbc:postgresql://xxx.rds.amazonaws.com:5432/wardrobe
DB_USER your_db_username
DB_PASSWORD your_db_password

3. javaでlambdaの環境変数を読み込む

String jdbcUrl = System.getenv("DB_URL");
String dbUser = System.getenv("DB_USER");
String dbPassword = System.getenv("DB_PASSWORD");

4. Lambdaコード内でこれらの変数を使ってRDSに接続

package example;

import java.sql.Connection;
import java.sql.DriverManager;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class Handler implements RequestHandler<Object, String> {

	@Override
	public String handleRequest(Object input, Context context) {
		LambdaLogger logger = context.getLogger();

		try {
			// PostgreSQL JDBCドライバーを明示的にリロード
			Class.forName("org.postgresql.Driver");

			String jdbcUrl = System.getenv("DB_URL");
			String dbUser = System.getenv("DB_USER");
			String dbPassword = System.getenv("DB_PASSWORD");

			try (Connection conn = DriverManager.getConnection(jdbcUrl, dbUser, dbPassword)) {
				if (conn != null && !conn.isClosed()) {
					logger.log("RDS接続成功");
					return ":white_check_mark: RDS接続成功!";
				} else {
					logger.log("接続オブジェクトは取得できたが無効");
					return "warnin: 接続オブジェクトは取得できたが無効です。";
				}
			} catch (Exception e) {
				logger.log("接続失敗: " + e.getMessage());
				return ":x: 接続失敗: " + e.getMessage();
			}
		} catch (ClassNotFoundException e) {
			logger.log(":x: JDBCドライバが見つかりません: " + e.getMessage());
			return ":x: JDBCドライバが見つかりません: " + e.getMessage();
		}
	}
}

これ(Java-basic)のhandler.javaとpom.xmlをinventory-managementについかする *フォルダーにファイルを貼り付けると配下に設置される

下記の場所からシステムのファイルまで確認できる

20250622.png

202506221.png

過去に作成したエラーファイルを全て削除する

EclipseでGitHubにプッシュする


今回使わなかったAWS機能(課金が必要になるため)

全体像