[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資料庫的安裝及連線方法資料庫
- docker 安裝redis 以及配置連線DockerRedis
- MySQL下載安裝配置及JDBC連線資料庫MySqlJDBC資料庫
- IDEA安裝外掛【Database navigation】並連線資料庫IdeaDatabaseNavigation資料庫
- oracle下載安裝及PLSQL連線資料庫教程OracleSQL資料庫
- 資料庫安裝以及基礎知識資料庫
- 本地連線虛擬機器資料庫問題虛擬機資料庫
- HGAdmin無法連線本地資料庫解決方式資料庫
- 手撕Vuex-安裝模組資料Vue
- 安裝dedecms織夢後顯示資料庫連線失敗資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 連線資料庫資料庫
- CentOS7離線安裝(rpm安裝)mysql資料庫CentOSMySql資料庫
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- python(pip)包/模組:如何離線安裝?Python
- 【Node.js】使用mongoose連線資料庫以及進行資料儲存Node.jsGo資料庫
- Linux下安裝redis資料庫服務,並開啟遠端連線LinuxRedis資料庫
- 關於安裝orcle資料庫後plsql developer與instantclient連線問題資料庫SQLDeveloperclient
- mysqli連線資料庫MySql資料庫
- Mongodb資料庫連線MongoDB資料庫
- Android 連線資料庫Android資料庫
- java連線資料庫Java資料庫
- 連線資料庫-mysql資料庫MySql
- jmeter連線資料庫JMeter資料庫
- Mybatis連線資料庫MyBatis資料庫
- JSP連線資料庫JS資料庫
- JDBC連線資料庫JDBC資料庫
- Flask連線資料庫Flask資料庫
- 資料庫本地,sqlplus和資料庫工具連線資料庫正常,但是JDBC連線資料庫出現了一直提示使用者名稱/密碼錯誤資料庫SQLJDBC密碼
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- python 模組安裝Python
- PyMySQL模組安裝MySql
- Python模組安裝Python
- RHEL7安裝本地離線yum源倉庫
- 【JDBC】java連線池模擬測試連線Oracle資料庫指令碼參考JDBCJavaOracle資料庫指令碼
- python 連線 mongo 資料庫連線超時PythonGo資料庫
- 資料庫的連線數資料庫