[AWS] dynamodb-local本地数据库安装以及dynamoose模块连接dynamodb-local
1、背景
dynamodb是aws提供一个NoSQL数据库服务,dynamodb-local是数据库云服务的本地调试版本,方便项目本地调试。dynamoose是nodejs对于dynamodb数据库的三方模块,类似mongodb的模块mongoose,用于node.js的优雅数据库对象建模,避免原始aws复杂的数据库操作。
2、dynamodb-local本地安装步骤
官方文档:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html
这里选择了linux环境下docker形式的安装(docker和docker-compose环境自行Google安装)
- 创建docker-compose-dynamodb-local.yaml文件
[root@localhost docker_yaml]# cat docker-compose-dynamodb-local.yaml
version: '3'services:dynamodb:image: amazon/dynamodb-localhostname: dynamodb-localcontainer_name: dynamodb-localports:- "8042:8000"
- 创建dynamodb-local docker容器应用
docker-compose -f docker-compose-dynamodb-local.yaml up –d
下载安装好后,执行docker ps –a可以查看到dynamodb-local的数据库容器
- 测试dynamodb-local数据库
安装aws_cli,官方文档:https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip后,执行目录下的install文件 ./aws/install
创建本地table(需要提前aws configure设置region等参数,否则执行提示参数缺少)
aws dynamodb --endpoint-url http://127.0.0.1:8042 create-table --table-name demo-customer-info --attribute-definitions AttributeName=customerId,AttributeType=S --key-schema AttributeName=customerId,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
参数说明:
endpoint-url:它设置为指向http:endpoint-url,它设置为指向http:// localhost:8042,这是公开访问Docker容器内DynamoDB的端口。
table-name:这是将要创建的表的名称。
attribute-definitions:这是对构成表的关键架构的属性的描述。它具有2个参数,即AttributeName和AttributeType。
key-schema:在这里我们可以定义作为表主键的属性。
provisioned-throughput:这定义了我们表的吞吐量(读取和写入),尽管这并不重要,因为它只是本地实例。
数据库正常会有以下回复
3、dynamoose模块连接dynamodb-local
安装dynamoose模块 npm install --save dynamoose
本地测试代码
const dynamoose = require("dynamoose");
dynamoose.aws.ddb.local("http://localhost:8042");console.log('create cat model with default options');
const Cat = dynamoose.model('Cat', {id: Number,name: String
});
console.log('create a new cat object');
const garfield = new Cat({id: 666,name: 'Garfield'
});
console.log('save to local dynamodb');
garfield.save();
console.log('lookup in dynamodb');
Cat.get(666).then((badCat) => {console.log('badCat' + badCat);console.log(`Never trust a smiling cat. - ${badCat.name}`);
});
远端可以把localhost换成ip地址试下,我本地环境外网不通,连不上aws执行报错,可以自行测试。
[AWS] dynamodb-local本地数据库安装以及dynamoose模块连接dynamodb-local相关推荐
- postgresql数据库安装以及使用pgadmin连接postgresql数据库
- php mysqldb 数据库切换,Python MySQLdb模块连接操作mysql数据库实例
mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...
- 虚拟机连接本地数据库
我们在运行虚拟机上面的项目时,可能要用到本机的数据库,在使用过程中会遇到数据库拒绝访问的情况 ,这是因为在安装本地数据库时没有启动远程连接. 使用两种方法来解决这种问题 一.使用命令行模式 第一步 ...
- aws redshift_从本地安装的IDE访问AWS Redshift
aws redshift This article gives you an overview of configuring the AWS Redshift cluster to use it fr ...
- linux hive创建数据库失败,Hive本地模式安装及遇到的问题和解决方案
Apache Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行. 其优点是学习成 ...
- 2021年大数据Flink(三):Flink安装部署 Local本地模式
目录 Flink安装部署 Local本地模式 原理 操作 测试 Flink安装部署 Flink支持多种安装模式 - Local-本地单机模式,学习测试时使用 - Standalone-独立集群模式,F ...
- docker 安装 nacos/nacos-server 镜像并配置本地数据库
docker pull nacos/nacos-server 启动镜像 这里启动容器的时候参数配置我就不在详解了,不明白的话,评论区留言,有不会的问题一定要及时询问,期待你的评论呦! docker r ...
- 本地建mysql数据库_mysql 安装及新建本地数据库遇到的问题
如果你只需要连接远程数据库,那么不需要安装mysql,直接安装mysql workbench,通过workbench就可以连接远程数据库.但是如果你需要自己在本地建立一个数据库,那么你肯定就需要安装m ...
- navicat没安装mysql怎么连接_在本地不安装mysql 数据库 能连接吗?
展开全部 本地不安装mysql 服务器是可以的,但是至少要安装客户端, 也要安装一个 ODBC 的驱动.62616964757a686964616fe78988e69d833133336564623 ...
最新文章
- 初识中文分词(一)MMSEG
- win2008 域服务器搭建教程
- 将weex项目打包的关键点
- Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”
- class priority_queue 简单介绍
- 1.2 private 关键字 面向对象封装
- 二进制法生成1-n的子集
- 一天一个设计模式之JS实现——建造者模式
- uml 时序图_面向对象设计与统一建模语言UML
- jQuery选择器,用逗号分隔的时候需要注意范围问题
- Poj 2187 旋转卡壳
- nlp 停用词处理java_NLP入门:文本预处理(一)停用词
- 节奏大师闪退android,游戏动态:《节奏大师》闪退问题解决方法汇总
- 详细介绍ADMM交替方向乘子法
- java 网站计数器_网站计数器——Java实现
- Ansys SCDM基本操作
- Codeforces 128 A Statues【预处理+Bfs】
- SymPy学习之Plotting Module
- 2-二、安装CUDA
- 华硕B85 pro gamer +i5 4590 +GTX960 成功安装黑苹果 macOS 10.12.2