golang操作使用dynamoDb

一 . dynamoDb介绍

AWS DynamoDB是一种完全托管的无服务器(Serverless)类型的NoSQL数据库。也是一种键-值(key-value)和文档型数据库,基本可以达到毫秒级的响应时间。作为持久数据库,它具有内置的安全性、备份与还原等功能!

二 . dynamoDb安装

  1. 本地docker安装:aws文档教程

镜像:docker pull amazon/dynamodb-local
容器:docker run -it -d -p 8000:8000 --name dynamodb-local amazon/dynamodb-local

  1. 线上可以直接使用aws,配置aws configure
    在这里插入图片描述

三 .可视化工具

  1. 开源工具:https://github.com/YoyaTeam/dynamodb-manager

命令:docker-compose up -d
在这里插入图片描述

  1. aws工具:NoSQL Workbench for Amazon DynamoDB 下载链接

四 .go操作dynamoDb

相关sdk:

  • “github.com/aws/aws-sdk-go/aws” (v2版本在我本地不好使??所以使用的是这个版本)
  • “github.com/aws/aws-sdk-go/service/dynamodb”
  • “github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute”

表结构:

  • ky:用户ID string类型
  • d: 用户相关数据 []bety类型

1. 连接

var DynamoDbClient *dynamodb.DynamoDB

func Connect(conf *configs.DynamodbConfig) {
   
	var staticCredentials = credentials.NewStaticCredentials("AccessKeyID", "SecretAccessKey", "SessionToken")

	sess, _ := session.NewSession()
	DynamoDbClient = dynamodb.New(sess, &aws.Config{
   
		Region:      aws.String("us-west-2"),
		Endpoint:    aws.String("http://localhost:8000"),
		Credentials: staticCredentials,
	})
}

credentials.NewStaticCredentials 可以不用(我是放到一台服务器上的时候报错了,连接不上dynamo,所以增加凭证(随意写就行)

2. 根据id获取用户信息

func GetItem(id int) []byte {
   
	params := &dynamodb.GetItemInput{
   
		Key: map[string]*dynamodb.AttributeValue{
   
			"ky": {
   
				S: aws.String(strconv.Itoa(id)),
			},
		},
		TableName: aws.String("tableName"),
	}

	resp, err := DynamoDbClient.GetIte
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值