
aaronshaf/dynamodb-admindynamodb-admin 是一个图形用户界面(GUI)工具,用于管理本地 DynamoDB 实例,支持 DynamoDB Local、dynalite、localstack 等本地 DynamoDB 服务。它提供直观的可视化界面,简化表管理、数据操作等开发测试过程。
适用于开发和测试环境,主要场景包括:
通过 npm 全局安装 dynamodb-admin:
bashnpm install -g dynamodb-admin
启动命令格式:
bashdynamodb-admin [选项]
| 参数 | 缩写 | 描述 | 默认值 |
|---|---|---|---|
--open | -o | 启动时自动在默认浏览器打开服务 URL | - |
--port PORT | -p PORT | 服务监听端口 | 8001 |
--host HOST | -h HOST | 服务监听主机 | localhost |
--dynamo-endpoint | - | DynamoDB 实例端点 | http://localhost:8000 |
--skip-default-credentials | - | 跳过默认凭证和区域设置,需通过其他方式提供凭证 | - |
以下环境变量可用于设置对应选项:
HOST: 对应 --host 选项PORT: 对应 --port 选项DYNAMO_ENDPOINT: 对应 --dynamo-endpoint 选项AWS_REGION: AWS 区域AWS_ACCESS_KEY_ID: AWS 访问密钥 IDAWS_SECRET_ACCESS_KEY: AWS 密钥连接默认 DynamoDB Local 实例:
bashdynamodb-admin --dynamo-endpoint=http://localhost:8000
连接需要凭证的本地 DynamoDB(如 amazon/dynamodb-local 镜像):
bashAWS_REGION=eu-west-1 AWS_ACCESS_KEY_ID=local AWS_SECRET_ACCESS_KEY=local dynamodb-admin
注意:若其他应用需要访问同一 DynamoDB 实例,其使用的
AWS_ACCESS_KEY_ID需与 dynamodb-admin 一致,以确保数据可见性。
在项目中作为依赖引入,需配合 AWS SDK v3(v4 版本支持 AWS SDK v2)。
bashnpm install dynamodb-admin @aws-sdk/client-dynamodb
jsimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'; import { createServer } from 'dynamodb-admin'; // 创建 DynamoDB 客户端实例 const dynamoDbClient = new DynamoDBClient({ endpoint: 'http://localhost:8000', // DynamoDB 端点 region: 'us-east-1', // 区域 credentials: { accessKeyId: 'key', // 访问密钥 ID secretAccessKey: 'secret' // 密钥 } }); // 创建 dynamodb-admin 服务 const app = createServer({ dynamoDbClient }); // 启动服务 const host = 'localhost'; const port = 8001; const server = app.listen(port, host); server.on('listening', () => { const address = server.address(); console.log(`服务运行于 [***]{address.address}:${address.port}`); });
使用 aaronshaf/dynamodb-admin 镜像:
bashdocker run -d \ -p 8001:8001 \ --name dynamodb-admin \ -e DYNAMO_ENDPOINT=http://localhost:8000 \ -e AWS_REGION=us-east-1 \ -e AWS_ACCESS_KEY_ID=local \ -e AWS_SECRET_ACCESS_KEY=local \ aaronshaf/dynamodb-admin
配合 amazon/dynamodb-local 构建完整环境:
yamlversion: '3' services: dynamodb: image: amazon/dynamodb-local ports: - "8000:8000" command: "-jar DynamoDBLocal.jar -inMemory -sharedDb" dynamodb-admin: image: aaronshaf/dynamodb-admin ports: - "8001:8001" environment: - DYNAMO_ENDPOINT=[***] - AWS_REGION=us-east-1 - AWS_ACCESS_KEY_ID=local - AWS_SECRET_ACCESS_KEY=local depends_on: - dynamodb
启动服务:
bashdocker-compose up -d
访问 http://localhost:8001 即可打开管理界面。
| 参数 | 描述 | 默认值 |
|---|---|---|
--open / -o | 启动时自动在默认浏览器打开服务 URL | - |
--port PORT / -p PORT | 服务监听端口 | 8001 |
--host HOST / -h HOST | 服务监听主机 | localhost |
--dynamo-endpoint | DynamoDB 实例端点 | http://localhost:8000 |
--skip-default-credentials | 跳过默认凭证设置(默认 accessKeyId: "key"、secretAccessKey: "secret"、region: "us-east-1") | - |
| 环境变量 | 描述 | 对应参数 |
|---|---|---|
HOST | 服务监听主机 | --host |
PORT | 服务监听端口 | --port |
DYNAMO_ENDPOINT | DynamoDB 实例端点 | --dynamo-endpoint |
AWS_REGION | AWS 区域 | - |
AWS_ACCESS_KEY_ID | AWS 访问密钥 ID | - |
AWS_SECRET_ACCESS_KEY | AWS 密钥 | - |
bashgit clone [***] cd dynamodb-admin npm install
bashnpm run build
bashDYNAMO_ENDPOINT=http://localhost:8000 npm run start
bashnpm run build:watch # 监控代码变更 # 新终端执行 DYNAMO_ENDPOINT=http://localhost:8000 npm run start
!功能演示


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务