DynamoDB
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/dynamodb.html
Creating a New Table
In order to create a new table, use the DynamoDB.ServiceResource.create_table() method:
创建新的表的方法:
import boto3
#获取dynamoDB 服务资源
dynamodb = boto3.resource('dynamodb')
# 创建DynamDB 表
使用create_table()方法创建表,
并且设置:
表名称:TableName
主键属性: keySchema
table = dynamodb.create_table(
TableName=‘users’,
KeySchema=[
{
'AttrbuteName':'username',
'KeyType':'HASH' #哈希
},
{
'AttrbuteName':'last_name',
'KeyType':'RANGE' #貌似列表
}
],
AttributeDefinitions=[
{
'AttributeName': 'username',
'AttributeType': 'S'
},
{
'AttributeName': 'last_name',
'AttributeType': 'S'
},
],
ProvisionedThroughput={
'ReadCapacityUnits':5,
'WriteCapacityUnits':5
}
)
# wait until the talble exists.
table.meta.client.get_waiter('table_exists').wait(TableName="users")
#print out some data about the table.
#打印表格数据
print(table.item_count)
这将创建一个名为users的表,该表分别具有散列和范围主键username和last_name。这个方法将返回一个DynamoDB。表资源来调用已创建表上的其他方法。
This creates a table named users that respectively has the hash and range primary keys username and last_name. This method will return a DynamoDB.Table resource to call additional methods on the created table.
Using an Existing Table 使用存在的表
It is also possible to create a DynamoDB.Table resource from an existing table:
也可以创建DynamoDB。来自现有表的表资源:
import boto3
#get the service resource.
dynamodb = boto3.resource('dynamodb')
# Instantiate a table resource object without actually实例化表资源对象 # creating a DynamoDB table. Note that the attributes of this tableare lazy-loaded: a request is not made nor are the attributevalues populated until the attributes on the table resource are accessed or its load() method is called.
#创建DynamoDB表。注意,此表的属性是延迟加载的:在访问表资源上的属性或调用其load()方法之前,
不会发出请求,也不会填充属性值。
table = dynamodb.Table('user')
# Print out some data about the table.打印一些关于表格的数据。 # This will cause a request to be made to DynamoDB and its attribute values will be set based on the response.译文:这将导致向DynamoDB发出请求,并根据响应设置其属性值。print(table.creation_date_time)
Expected Output (Please note that the actual times will probably not match up):
2015-06-26 12:42:45.149000-07:00
译文:期望输出(请注意实际时间可能不匹配):
Creating a New Item
Once you have a DynamoDB.Table resource you can add new items to the table using DynamoDB.Table.put_item():
table.put_item(
Item={
'username':'janedoe',
'first_name':'Jane',
'age':25,
'account_type':'standard_user',
}
)
For all of the valid types that can be used for an item, refer to Valid DynamoDB Types.
对于可用于项的所有有效类型,请参考有效的DynamoDB类型。
Valid DynamoDB Types 有效的数据类型:
Python Type
| Python Type | DynamoDB Type |
|---|---|
| string | String (S) |
| integer | Number (N) |
| decimal.Decimal | Number (N) |
| boto3.dynamodb.types.Binary | Binary (B) |
| boolean | Boolean (BOOL) |
| None | Null (NULL) |
| string set | String Set (SS) |
| integer set | Number Set (NS) |
| decimal.Decimal set | Number Set (NS) |
| boto3.dynamodb.types.Binary set | Binary Set (BS) |
| list | List (L) |
| dict | Map (M) |
未完 待续
DynamoDB的更多相关文章
- dynamodb golang query one Item
golang dynamodb query oneItem and unmarshal to object // +build example package main import ( / ...
- golang DynamoDB sdk AccessDeniedException
golang调用aws sdk时候提示: AccessDeniedException: User: arn:aws:sts::818539432014:assumed-role/bj-develop/ ...
- [转]Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications
This article is from blog of Amazon CTO Werner Vogels. -------------------- Today is a very exciting ...
- DynamoDB Local for Desktop Development
Would you like to be able to write and test code that uses the Amazon DynamoDB API even if you have ...
- Amazon DynamoDB 概览
1. 什么是Amazon DynamoDB DynamoDB 是一种快速.全面受管的 NoSQL 数据库服务,它能让用户以简单并且经济有效地方式存储和检索任何数据量,同时服务于任何程度的请求流量.所有 ...
- python--boto3 之 与dynamoDB 的基本交互,表的备份与恢复
最近因工作需要,研究了一下boto3中dynamoDB部分,略有心得,在此总结一下. 首先是boto3的安装,在装有python和pip的机器上,运行 sudo pip install boto3 官 ...
- Nodejs课堂笔记-第四课 Dynamodb为何物
本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 我喜欢带着目标来学习新知识.因此学习nodejs过程中,不喜欢只看枯燥的语法 ...
- Amazon DynamoDB, 面向互联网应用的高性能、可扩展的NoSQL数据库
DynamoDB是一款全面托管的NoSQL数据库服务.客户能够很easy地使用DynamoDB的服务.同一时候享受到高性能,海量扩展性和数据的持久性保护. DynamoDB数据库是Amazon在201 ...
- Aws Dynamodb数据导出到S3
本节将描写叙述怎样从一个或多个DynamoDB的表导出数据到S3的bucket中.在运行导出之前你须要提前创建好S3的bucket. 注意 假设你还没有使用过AWS Data Pipeline,在运行 ...
随机推荐
- sql中的等于和不等于, '=' ,'!=','<>','is null'....
不等于:<> ,!=,~= ,^= 这四个符号据说都可以在oracle中表示不等于,但是试了之后发现<> ,!= ,^=是可以的,~=不行,需要注意的是,只有<>是 ...
- int x ; x+1<x;公式成立
直接上代码: Console.WriteLine("int取值范围 -2147483648-2147483647");int x = 2147483647;// Console.W ...
- shell脚本三——正则表达式
shell函数:shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数.给这段代码起个名字称为函数名,后续可以直接调用该段代码. 格式:fun() { 命令 } Shell ...
- Postman A请求的返回值作为B请求的入参( 之‘’token‘’ ,用代码设置全局变量)
问题: 登陆接口获取token,其他接口访问时需携带token 方案: 在登陆接口访问后设置Postman的全局变量(Globals),例如设置环境变量名:token2,值(实时的不用自己手动设置的) ...
- 逆向工程vgenerator(一)
前言 想要自己实现一个mybatis-generator类似的轮子,目前只实现MySQL部分的方法.利用下班时间,写了一个小项目,实现了这个功能.我准备分成三篇博客来写这个东西. 基类 /** *基类 ...
- ubuntu python的升级与回滚
转自:https://www.cnblogs.com/wmr95/p/7637077.html 正常情况下,你安装好ubuntu16.04版本之后,系统会自带 python2.7版本,如果需要下载新版 ...
- xml 转换成对象(采用反射机制对对对象属性赋值)
/// <summary> /// 采用反射机制对对对象属性赋值 /// </summary> /// <param name="node">& ...
- ServletContextListener中的方法contextInitialized执行了两次
有一个web06项目是直接拷贝web05的,复制过后web06项目默认的web配置中的Context Root还是web05,导致tomcat在启动时还是会创建两个web应用,修改成web06后,cl ...
- NFS存储服务
NFS存储服务笔记======================================================================NFS共享存储是什么: 英文名-Netwo ...
- django之关联field 描述子是如何实现的
model定义时,每个field都是一个类属性,一个对象.在生成类时,属性有contribute_to_class的方法,会调用该方法. m2m field,它会先调用自己的contribute_to ...