[AWS] dynamodb-local本地資料庫安裝以及dynamoose模組連線dynamodb-local
1、背景
dynamodb是aws提供一個NoSQL資料庫服務,dynamodb-local是資料庫雲服務的本地除錯版本,方便專案本地除錯。dynamoose是nodejs對於dynamodb資料庫的三方模組,類似mongodb的模組mongoose,用於node.js的優雅資料庫物件建模,避免原始aws複雜的資料庫操作。
2、dynamodb-local本地安裝步驟
這裡選擇了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-local
hostname: dynamodb-local
container_name: dynamodb-local
ports:
- "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執行報錯,可以自行測試。
相關文章
- 本地不安裝oracle,用PL/SQL Developer連線資料庫OracleSQLDeveloper資料庫
- 【PG資料庫】PG資料庫的安裝及連線方法資料庫
- 免安裝Oracle連線資料庫(odbc驅動)Oracle資料庫
- 免安裝oracle軟體連線oracle資料庫Oracle資料庫
- docker 安裝redis 以及配置連線DockerRedis
- MySQL下載安裝配置及JDBC連線資料庫MySqlJDBC資料庫
- oracle下載安裝及PLSQL連線資料庫教程OracleSQL資料庫
- 用VB連線MySQL資料庫模組(詳解)MySql資料庫
- 本地連線虛擬機器資料庫問題虛擬機資料庫
- 資料庫安裝以及基礎知識資料庫
- HGAdmin無法連線本地資料庫解決方式資料庫
- jive安裝連資料庫問題?資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- MAC下安裝Node.js(Express框架)連線redis資料庫MacNode.jsExpress框架Redis資料庫
- 安裝jive時,“資料庫連線”項的driver該如何填?資料庫
- 安裝第三步:連線ORALCE資料庫出錯?資料庫
- PG data wrapper 連線oracle 資料庫oracle_fdw 安裝APPOracle資料庫
- IDEA安裝外掛【Database navigation】並連線資料庫IdeaDatabaseNavigation資料庫
- 安裝dedecms織夢後顯示資料庫連線失敗資料庫
- 連線資料庫資料庫
- 資料庫連線資料庫
- plsql本機不安裝資料庫連線遠端資料庫SQL資料庫
- postgresql資料庫安裝以及修改資料檔案路徑SQL資料庫
- JDBC連線資料庫JDBC資料庫
- java連線資料庫Java資料庫
- Mybatis連線資料庫MyBatis資料庫
- Mongodb資料庫連線MongoDB資料庫
- mysqli連線資料庫MySql資料庫
- 資料庫的連線資料庫
- 連線mysql資料庫MySql資料庫
- 資料庫連線池資料庫
- 資料庫連線==odbc資料庫
- 資料庫連線字串資料庫字串
- jmeter連線資料庫JMeter資料庫
- 連線資料庫-mysql資料庫MySql
- 【Node.js】使用mongoose連線資料庫以及進行資料儲存Node.jsGo資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼