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相关推荐

  1. postgresql数据库安装以及使用pgadmin连接postgresql数据库

  2. php mysqldb 数据库切换,Python MySQLdb模块连接操作mysql数据库实例

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  3. 虚拟机连接本地数据库

    我们在运行虚拟机上面的项目时,可能要用到本机的数据库,在使用过程中会遇到数据库拒绝访问的情况 ,这是因为在安装本地数据库时没有启动远程连接. 使用两种方法来解决这种问题 一.使用命令行模式   第一步 ...

  4. aws redshift_从本地安装的IDE访问AWS Redshift

    aws redshift This article gives you an overview of configuring the AWS Redshift cluster to use it fr ...

  5. linux hive创建数据库失败,Hive本地模式安装及遇到的问题和解决方案

    Apache Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行. 其优点是学习成 ...

  6. 2021年大数据Flink(三):​​​​​​​Flink安装部署 Local本地模式

    目录 Flink安装部署 Local本地模式 原理 操作 测试 Flink安装部署 Flink支持多种安装模式 - Local-本地单机模式,学习测试时使用 - Standalone-独立集群模式,F ...

  7. docker 安装 nacos/nacos-server 镜像并配置本地数据库

    docker pull nacos/nacos-server 启动镜像 这里启动容器的时候参数配置我就不在详解了,不明白的话,评论区留言,有不会的问题一定要及时询问,期待你的评论呦! docker r ...

  8. 本地建mysql数据库_mysql 安装及新建本地数据库遇到的问题

    如果你只需要连接远程数据库,那么不需要安装mysql,直接安装mysql workbench,通过workbench就可以连接远程数据库.但是如果你需要自己在本地建立一个数据库,那么你肯定就需要安装m ...

  9. navicat没安装mysql怎么连接_在本地不安装mysql 数据库 能连接吗?

    展开全部 本地不安装mysql 服务器是可以的,但是至少要安装客户端, 也要安装一个  ODBC 的驱动.62616964757a686964616fe78988e69d833133336564623 ...

最新文章

  1. 初识中文分词(一)MMSEG
  2. win2008 域服务器搭建教程
  3. 将weex项目打包的关键点
  4. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”
  5. class priority_queue 简单介绍
  6. 1.2 private 关键字 面向对象封装
  7. 二进制法生成1-n的子集
  8. 一天一个设计模式之JS实现——建造者模式
  9. uml 时序图_面向对象设计与统一建模语言UML
  10. jQuery选择器,用逗号分隔的时候需要注意范围问题
  11. Poj 2187 旋转卡壳
  12. nlp 停用词处理java_NLP入门:文本预处理(一)停用词
  13. 节奏大师闪退android,游戏动态:《节奏大师》闪退问题解决方法汇总
  14. 详细介绍ADMM交替方向乘子法
  15. java 网站计数器_网站计数器——Java实现
  16. Ansys SCDM基本操作
  17. Codeforces 128 A Statues【预处理+Bfs】
  18. SymPy学习之Plotting Module
  19. 2-二、安装CUDA
  20. 华硕B85 pro gamer +i5 4590 +GTX960 成功安装黑苹果 macOS 10.12.2

热门文章

  1. Java高级开发必备--Docker进阶(一篇详细教程,进阶Docker)
  2. 大型的obj文件如何处理和加载
  3. NOKOV动作捕捉系统使多场协同无人机自主建造成为可能
  4. 学习资料分享——java视频教程及电子书免费下载
  5. 【理科】2020年高考数学(第三章导数)考点与题型全归纳
  6. 传感器系列之4.7地磁传感器
  7. 软件需求与分析需要掌握的内容
  8. Linux终端模式下查看电脑的硬件配置信息小技巧
  9. JS中解决单击双击事件的冲突的问题
  10. veket linux输入法,智能通用输入法平台(SCIM for veket)