AWS Aurora MySQL データベースはノード Lambda 関数でクエリできません
P粉184747536
P粉184747536 2023-08-25 21:31:48
0
1
536

Lambda 関数を使用して AWS Aurora MySQL データベースにデータを書き込もうとしています。

コード

何らかの理由で機能しないようです。これまでのコードは非常に単純ですが、正しく実行されません。これは、ユーザーが Cognito に登録するときに呼び出される単純な Lambda 関数であり、ユーザーの認証情報を含む新しいエントリを SQL データベースに作成する必要があります。

const mysql = require('mysql') const db = mysql.createConnection({ ホスト: "****"、 ポート: *****、 ユーザー: "*****", パスワード: "*****"、 データベース: "*****", }) import const lambdaHandler = async (event: any, context: any,) => { const ユーザー = { uid:event.request.userAttributes.sub、 ユーザー名:event.request.userAttributes.nickname、 電子メール:event.request.userAttributes.email、 } console.log("クエリ前") const query = `INSERT INTO users (Uid, Username, Email) VALUES (${user.uid}, ${user.username}, ${user.email})` await db.query(query, (err: any, result: any) => { if (err) console.error(err) console.log("クエリ応答: " 結果) }) console.log("クエリ後") リターンイベント。 };

関数の出力は次のとおりです。

START リクエスト ID: bb1d2143-97e4-4761-a48a-f482cf94f73b バージョン: $LATEST 2022-03-17T14:02:35.956Z bb1d2143-97e4-4761-a48a-f482cf94f73b クエリ前の情報 2022-03-17T14:02:35.961Z bb1d2143-97e4-4761-a48a-f482cf94f73b クエリ後の情報 終了リクエストID: bb1d2143-97e4-4761-a48a-f482cf94f73b REPORT RequestId: bb1d2143-97e4-4761-a48a-f482cf94f73b 初期期間: 0.14 ミリ秒 期間: 138.07 ミリ秒 請求期間: 139 ミリ秒 メモリ サイズ: 128 MB 最大使用メモリ: 128 MB

注: クエリ関数はログ レコードを見つけられませんでした (エラーをスローするか、応答をログに記録する必要があります)

戦略

Lambda 関数の実行ロールには次のポリシーが含まれています: AWSLambdaVPCAccessExecutionRole および AWSLambda_FullAccess

その他

Lambda 関数と Aurora は、同じ VPC の異なるサブネットにあります。これが問題を引き起こすかどうかはわかりません。しかし、これにより関数がエラーをスローすることはないでしょうか? missing authorizationのようなエラー?

現時点では何が足りないのかわかりません

P粉184747536
P粉184747536

全員に返信 (1)
P粉960525583

問題は、db.queryが Promise スタイルではなくコールバック スタイルを使用していることです。 Promise を使用するには変換する必要があります。

1 つの方法は、Util.promisify...

を使用することです。 リーリー
いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!