小编ani*_*izo的帖子

是否有 aurora serverless Data Api 的任何模拟(或本地)服务?

我已经替换了从 lambda 函数连接数据库的方式。
之前,该函数使用 MySQL 模块建立与 RDS 的连接,并通过 3306 端口进行查询。
目前,我尝试使用Data API,并且我已经完成了没有测试的替换所有代码。

现在我正在考虑如何保证我的代码。

我有一些测试代码可以连接在 docker 镜像上运行的本地 MySQL 数据库。
但是,由于没有端点,Data API 无法连接到本地 MySQL 数据库。

所以我想知道是否有任何服务或库来模拟数据 API。

这是我运行 MySQL DB 的 docker-compose.yml。

services:
  db:
    build: ./docker/mysql
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: $DB
      MYSQL_USER: $USER
      MYSQL_PASSWORD: $PWD
      MYSQL_ROOT_PASSWORD: $ROOT_PWD
    ports:
      - "3306:3306"
    volumes:
      - ./docker/mysql/initdb.d:/docker-entrypoint-initdb.d
      - ./docker/mysql/conf.d:/etc/mysql/conf.d
      - ./docker/log:/var/log/mysql
Run Code Online (Sandbox Code Playgroud)

以前,该函数尝试通过以下代码连接到数据库

import * as mysql from 'mysql';
import * as util from 'util';

const connection: mysql.Pool = mysql.createPool({
  connectionLimit: 100,
  host: process.env.DB_HOST,
  user: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services typescript aws-aurora-serverless

5
推荐指数
1
解决办法
1616
查看次数

“错误:接收的数据包顺序错误。” 连接到无服务器 aurora 时

我正在实现一个 Web 应用程序,它调用 lambda 函数从数据库中获取数据。
我选择了 Serverless Aurora 并编写了代码,但"Error: Received packet in the wrong sequence."在查询方法中出现异常。

我用谷歌搜索了这个问题,但几乎所有问题都太旧了。
一篇文章说是的问题,browisify但我不使用它。
我正在使用带有打字稿的无服务器框架。

const mysql = require('serverless-mysql')({
  config: {
    host: process.env.DB_HOST,
    database: process.env.DB_NAME,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD
  }
});

export async function query(sql: string, param?: Array<string>): Promise<any> {
  const results = await mysql.query(sql).catch(e => {
    console.log(e); // Error: Received packet in the wrong sequence
    throw new Error(e);
  });

  await mysql.end();
  return results;
}
Run Code Online (Sandbox Code Playgroud)

以下也不起作用


export async function query(sql: string, param?: Array<string>): …
Run Code Online (Sandbox Code Playgroud)

node.js aws-lambda amazon-aurora aws-sdk-js

4
推荐指数
1
解决办法
1733
查看次数