虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > MongoDB数据库 > 连接AWS的DynamoDB例子(scala版)

连接AWS的DynamoDB例子(scala版)
类别:MongoDB数据库   作者:码皇   来源:<a href="http://blog.csdn.net/adgjlm111" target="_blank" rel="nofollow&q   点击:

连接AWS的DynamoDB例子(scala版),scala连接dynamoDB的案例。

连接AWS的DynamoDB例子(scala版),scala连接dynamoDB的案例:

废话不多说,直接上代码

import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient import com.amazonaws.services.dynamodbv2.document.DynamoDB import com.amazonaws.services.dynamodbv2.document.Table import com.amazonaws.services.dynamodbv2.model.KeySchemaElement import com.amazonaws.services.dynamodbv2.model.KeyType import com.amazonaws.services.dynamodbv2.model.AttributeDefinition import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput import com.amazonaws.services.dynamodbv2.document.Item import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper import com.amazonaws.auth.BasicAWSCredentials import com.amazonaws.services.dynamodbv2.document.PrimaryKey import com.amazonaws.regions.Regions import java.util.Arrays import com.amazonaws.services.dynamodbv2.document.spec.ScanSpec import com.amazonaws.services.dynamodbv2.document.internal.IteratorSupport import com.amazonaws.services.dynamodbv2.document.ScanOutcome

class DynamoDBService() {
//产品的秘钥 就是账号和密码 连接本地安装的DynamoDB的时候使用 private val credentials: BasicAWSCredentials = new BasicAWSCredentials("wwwwwwwwwwww", "mmmmmmmmmm")
private val client: AmazonDynamoDBClient = if (true) { //连接本地的DynamoDB new AmazonDynamoDBClient(credentials).withEndpoint(options.dynamoDbEndpoint) } else { //直接连接AWS上的DynamoDB new AmazonDynamoDBClient().withEndpoint(options.dynamoDbEndpoint) } //创建DynamoDB实例 val dynamoDB: DynamoDB = new DynamoDB(client)
val dbMapper: DynamoDBMapper = new DynamoDBMapper(client) //创建一个表 def createTable(tableName: String): Unit = { dynamoDB.createTable(tableName, Arrays.asList(new KeySchemaElement("主键", KeyType.HASH), new KeySchemaElement("排序键", KeyType.RANGE)), Arrays.asList(new AttributeDefinition("主键", ScalarAttributeType.S), new AttributeDefinition("排序键", ScalarAttributeType.N)), new ProvisionedThroughput(10L, 10L)).waitForActive() } //添加一个项目 def addItem(tableName: String, eventString: String, value: Long, dateTime: Long): Unit = { dynamoDB.getTable(tableName).putItem(new Item().withPrimaryKey("主键", eventString, "排序键", dateTime).withLong("value", value)) }
//查询 def selectTableByName(tableName: String): IteratorSupport[Item, ScanOutcome] = { dynamoDB.getTable(tableName).scan(new ScanSpec).iterator() }
}

主要注意的就是下载本地版本的DynamoDB,连接的时候要加秘钥

相关热词搜索: