前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[ 后端篇 ] 05 - AWS DynamoDB 入门教程

[ 后端篇 ] 05 - AWS DynamoDB 入门教程

作者头像
程序手艺人
发布2019-03-15 16:05:11
3.5K0
发布2019-03-15 16:05:11
举报
文章被收录于专栏:程序手艺人程序手艺人

DynamoDB 属于AWS 专有的 NoSQL 数据库服务。其实和Mongod类似。

由于DynamoDB 属于AWS的,需要下载专有的工具操作。

在 DynamoDB 中,表、项目和属性是您使用的核心组件。表 是项目 的集合,而每个项目是属性 的集合。DynamoDB 使用主键来唯一标识表中的每个项目,并且使用二级索引来提供更大的查询灵活性。您可以使用 DynamoDB 流 捕获 DynamoDB 表中的数据修改事件。

搭建本地DynamoDB开发环境

操作 DynamoDB 需要提前装 AWS Command Line Interface (AWS CLI)之后便可以 命令行管理多个 AWS 服务并通过脚本自动执行这些服务。

  • 下载AWS CLI

安装 AWS CLI 工具 , 提前安装好Python 中的pip,然后执行 pip install awscli ,安装成功之后提示

代码语言:javascript
复制
➜  DynamoDB_install aws --version
aws-cli/1.16.121 Python/2.7.15rc1 Linux/4.15.0-45-generic botocore/1.12.111
  • 配置 AWS CLI
  1. 配置之前必须先获取访问密钥 ID 和秘密访问密钥,然后才能将 AWS CLI 与 DynamoDB 结合使用。请参阅获取 AWS 访问密钥
  2. AWS Configure进行配置
代码语言:javascript
复制
➜  DynamoDB_install aws configure
AWS Access Key ID [****************ZDBQ]: 
AWS Secret Access Key [****************XknV]: 
Default region name [us-west-2]: 
Default output format [json]: 
  • 下载DynamoDB
  1. 可以参考计算机上的 DynamoDB(可下载版本)
  2. 下载 DynamoDB
  3. 下载之后解压压缩包,Ubuntu 启动 DynamoDB,打开终端,导航到您提取 DynamoDBLocal.jar 的目录,并键入以下命令:
代码语言:javascript
复制
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
  1. 然后本地同时启动客户端去链接服务端
代码语言:javascript
复制
aws dynamodb list-tables --endpoint-url http://localhost:8000

以上步骤便可以通过命令行操作数据库


Node.js 和 DynamoDB

通过API的方式操作DynamoDB数据库

  1. 安装AWS提供的aws-sdk
代码语言:javascript
复制
npm install aws-sdk
  1. 创建一个名为 Movies 的表。表的主键由以下属性组成。
代码语言:javascript
复制
var AWS = require("aws-sdk");

AWS.config.update({
  region: "us-west-2",
  endpoint: "http://localhost:8000"
});

//新建DynamoDB对象
var dynamodb = new AWS.DynamoDB();

// year – 分区键。AttributeType 为 N,表示数字。
// title – 排序键。AttributeType 为 S,表示字符串。

// 表的内容
var params = {
    TableName : "Movies",
    KeySchema: [       
        { AttributeName: "year", KeyType: "HASH"},  //Partition key
        { AttributeName: "title", KeyType: "RANGE" }  //Sort key
    ],
    AttributeDefinitions: [       
        { AttributeName: "year", AttributeType: "N" },
        { AttributeName: "title", AttributeType: "S" }
    ],
    ProvisionedThroughput: {       
        ReadCapacityUnits: 10, 
        WriteCapacityUnits: 10
    }
};
// DynamoDB 中创建表
dynamodb.createTable(params, function(err, data) {
    if (err) {
        console.error("Unable to create table. Error JSON:", JSON.stringify(err, null, 2));
    } else {
        console.log("Created table. Table description JSON:", JSON.stringify(data, null, 2));
    }
});
  1. 运行该程序
代码语言:javascript
复制
node MoviesCreateTable.js

以上只是学习DynamoDB过程中的笔记,更加详细可以参考官网更详细的教程

AWS API Amazon DynamoDB

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建本地DynamoDB开发环境
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档