本地Windows环境下使用AWS DynamoDB

本文详述了如何在Windows系统中使用Java和AWS CLI与本地DynamoDB客户端进行交互,包括安装JRE、DynamoDB本地客户端和AWS CLI,创建表,插入、读取数据等步骤,是Java开发者在Windows上实践DynamoDB的理想教程。
摘要由CSDN通过智能技术生成

本地Windows环境下使用AWS DynamoDB

前言

目前网上的攻略讲的不详细,且大多为使用Node.js进行操作,本文将介绍一种仅在java和Windows环境下使用DynamoDB的步骤

安装教程

1. 安装Java运行环境(JRE),需要Java 8 版本及以上

安装Java环境及配置环境变量不再赘述。

jdk8下载地址

2. 安装AWS DynamoDB本地客户端

DynamoDB下载地址

选择地区下载.zip文件即可

在这里插入图片描述

下载完成后解压文件,在解压后的目录使用使用PowerShell运行如下命令

java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar

运行结果如图

在这里插入图片描述

3. 安装AWS CLI

AWS CLI 下载地址

注意,该版本为V2,建议使用最新版DynamoDB

傻瓜式安装,可以自行选择安装地址

使用教程

1. 测试是否安装成功

确认Dynamo DB 启动,打开CMD

输入aws,出现提示即为安装成功

配置AWS 参数方便本地使用
D:\devtools>aws configure
AWS Access Key ID [none]: 1
AWS Secret Access Key [none]: 1
Default region name [none]: cn-north-1
Default output format [none]: json
输入命令查看当前表
D:\devtools>aws dynamodb list-tables --endpoint-url http://localhost:8000
{
    "TableNames": []
}

可以看到当前表为空

2. 创建表

使用AWS官方文档提供的例子来创建表,注意,为方便阅读添加了换行,不可直接执行

aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1 \
    --table-class STANDARD

可执行命令如下,在本地环境下操作均需要添加–endpoint属性

aws dynamodb create-table --table-name Music --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1 --table-class STANDARD --endpoint-url http://localhost:8000

执行结果如下,配置输出以JSON形式展示

{
    "TableDescription": {
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "TableName": "Music",
        "KeySchema": [
            {
                "AttributeName": "Artist",
                "KeyType": "HASH"
            },
            {
                "AttributeName": "SongTitle",
                "KeyType": "RANGE"
            }
        ],
        "TableStatus": "ACTIVE",
        "CreationDateTime": "2022-09-06T11:12:12.387000+08:00",
        "ProvisionedThroughput": {
            "LastIncreaseDateTime": "1970-01-01T08:00:00+08:00",
            "LastDecreaseDateTime": "1970-01-01T08:00:00+08:00",
            "NumberOfDecreasesToday": 0,
            "ReadCapacityUnits": 1,
            "WriteCapacityUnits": 1
        },
        "TableSizeBytes": 0,
        "ItemCount": 0,
        "TableArn": "arn:aws:dynamodb:ddblocal:000000000000:table/Music"
    }
}
3. 向表中添加数据

命令如下,为方便阅读添加分行.可以看到在windows系统下使用JSON是多么的难搞

aws dynamodb put-item ^
    --table-name Music  ^
    --item ^
        "{\"Artist\": {\"S\": \"No One You Know\"}, \"SongTitle\": {\"S\": \"Call Me Today\"}, \"AlbumTitle\": {\"S\": \"Somewhat Famous\"}, \"Awards\": {\"N\": \"1\"}}" ^
    --endpoint-url http://localhost:8000

//下面的是在Linux下执行的,建议使用文件
aws dynamodb put-item 
    --table-name Music  \
    --item \
        '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Howdy"}, "AlbumTitle": {"S": "Somewhat Famous"}, "Awards": {"N": "2"}}'

我们也可以使用文件插入数据

命令行如下

D:\devtools>aws dynamodb put-item --table-name Music --item file://C:\Users\akon\Desktop\1.json --endpoint-url http://localhost:8000

不报错代表插入成功

4. 读取表中的数据

命令行,可以看到读到了刚才的文件

D:\devtools>aws dynamodb get-item --consistent-read --table-name Music --key "{ \"Artist\": {\"S\": \"No One You Know\"}, \"SongTitle\": {\"S\": \"Call Me Today\"}}"  --endpoint-url http://localhost:8000
{
    "Item": {
        "Artist": {
            "S": "No One You Know"
        },
        "AlbumTitle": {
            "S": "Somewhat Famous"
        },
        "Awards": {
            "N": "1"
        },
        "SongTitle": {
            "S": "Call Me Today"
        }
    }
}
5. 更多命令行操作可参考 AWS DynamoDB开发人员指南

参考网址

Java环境使用

参考https://blog.csdn.net/Dracarys_/article/details/110628208

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值