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,在运行 ...
随机推荐
- Java笔记Spring(五)
C:\apache-tomcat-8.0.36\bin\catalina.bat run [2018-05-23 02:30:31,657] Artifact demo-springmvc:war e ...
- flutter 访问网页+http请求
一.目录 1.访问网页 2.http请求 -----------------------------这是分割线----------------------------- 1.访问网页 基于url_la ...
- 可编辑的div -> 编辑框
操作可编辑的div中,无可厚非,怎么获取当前光标位置,复制,粘贴等知识是必须要懂得,下边这个链接里面对其有详细的解释: 请点这里 想看详细的例子请点击这里
- C#异步方法
Task MainTask; MainTask = Task.Factory.StartNew(() => { //耗时的异步逻辑 });
- RDD的概念与创建
1.RDD是整个Spark的计算基石.是分布式数据的抽象,为用户屏蔽了底层复杂的计算和映射环境 RDD是不可变的,如果需要在一个RDD上进行转换操作,则会生成一个新的RDD RDD是分区的,RDD里面 ...
- 29.python环境搭建
新的笔记本上搭建的python运行环境:1.首先现在下载python版本,我这里拿的是之前用的3.5老版本 2.双击安装(勾选 add Python3.5 to path) 3.检测是否安装成功 4. ...
- 菜鸟教程之学习Shell script笔记(中)
菜鸟教程Shell script学习笔记(中) 以下内容是学习菜鸟教程之shell教程,所整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-sh ...
- 1. [Vue warn]: Missing required prop: "value"
意思是说数据没有绑定,页面缺少value值.应该v-model进行数据绑定.
- php laravel+nginx 除了根目录都报404 解决
在nginx的配置文件加 location / { try_files $uri $uri/ /index.php?$query_string; } 即可!!!!!!!
- 36_react_ui_antd
1:最流行的开源react ui组件库 1.1:material-ui(国外) 1.2:ant-design(推荐:国内蚂蚁金服) 2.如何使用 方式一(页面引入): 在<head>标签内 ...