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,在运行 ...
随机推荐
- OpenCV中 常用 函数 的作用
1.CV_Assert函数作用: CV_Assert()若括号中的表达式值为false,则返回一个错误信息.
- 0008 合并K个排序链表
合并 k 个排序链表,返回合并后的排序链表.请分析和描述算法的复杂度. 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1-&g ...
- IE高级配置中,存在SSL支持协议,例如SSL TLS。
IE高级配置中,存在SSL支持协议,例如SSL TLS. 其在注册表的路径为:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\I ...
- Centos7上使用tomcat8
1.上传apache-tomcat-8.5.39.tar.gz到/usr/local 2.解压文件:tar -zxvf apache-tomcat-8.5.39.tar.gz 3.把文件夹名改简单一些 ...
- Centos6、7下安装Nginx的两种方法
一,通过yum命令安装 1.操作系统版本的确认很重要,因为下一步我们要依靠这个来创建yum源文件 2.创建 nginx.repo vi /etc/yum.repos.d/nginx.repo 文件内容 ...
- leetcode每日刷题计划-简单篇day10
跳题,不熟悉的留到周末再做. 保持冷静,不信画饼. num 100 相同的树 Same Tree 做法可能不是特别简洁,注意一下.最后判断完子树以后,要确定根的数值是一样的 然后在isleaf的判定先 ...
- python爬取免费优质IP归属地查询接口
python爬取免费优质IP归属地查询接口 具体不表,我今天要做的工作就是: 需要将数据库中大量ip查询出起归属地 刚开始感觉好简单啊,毕竟只需要从百度找个免费接口然后来个python脚本跑一晚上就o ...
- WebView内容自适应
webview页面自适应 //适应内容大小 start webSetting.setUseWideViewPort(true); webSetting.setLayoutAlgorithm(WebSe ...
- orcal - 子查询
where 单行单列 SELECT AVG(sal) from emp; SELECT * FROM EMP WHERE sal <(SELECT AVG(sal) from emp); 单行多 ...
- Vue stage2
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...