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的更多相关文章

  1. dynamodb golang query one Item

    golang  dynamodb  query  oneItem  and unmarshal  to object // +build example package main import ( / ...

  2. golang DynamoDB sdk AccessDeniedException

    golang调用aws sdk时候提示: AccessDeniedException: User: arn:aws:sts::818539432014:assumed-role/bj-develop/ ...

  3. [转]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 ...

  4. 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 ...

  5. Amazon DynamoDB 概览

    1. 什么是Amazon DynamoDB DynamoDB 是一种快速.全面受管的 NoSQL 数据库服务,它能让用户以简单并且经济有效地方式存储和检索任何数据量,同时服务于任何程度的请求流量.所有 ...

  6. python--boto3 之 与dynamoDB 的基本交互,表的备份与恢复

    最近因工作需要,研究了一下boto3中dynamoDB部分,略有心得,在此总结一下. 首先是boto3的安装,在装有python和pip的机器上,运行 sudo pip install boto3 官 ...

  7. Nodejs课堂笔记-第四课 Dynamodb为何物

    本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 我喜欢带着目标来学习新知识.因此学习nodejs过程中,不喜欢只看枯燥的语法 ...

  8. Amazon DynamoDB, 面向互联网应用的高性能、可扩展的NoSQL数据库

    DynamoDB是一款全面托管的NoSQL数据库服务.客户能够很easy地使用DynamoDB的服务.同一时候享受到高性能,海量扩展性和数据的持久性保护. DynamoDB数据库是Amazon在201 ...

  9. Aws Dynamodb数据导出到S3

    本节将描写叙述怎样从一个或多个DynamoDB的表导出数据到S3的bucket中.在运行导出之前你须要提前创建好S3的bucket. 注意 假设你还没有使用过AWS Data Pipeline,在运行 ...

随机推荐

  1. JavaScript数组方法--flat、forEach、map

    今天到flat了,一个第一次知道该方法还是看到一个面试题,别人给了个答案,用到了flat才知道的方法. 前面也写过关于这道面试题的文章,<一道关于数组的前端面试题>. 这里再来说说吧! f ...

  2. RDD的概念与创建

    1.RDD是整个Spark的计算基石.是分布式数据的抽象,为用户屏蔽了底层复杂的计算和映射环境 RDD是不可变的,如果需要在一个RDD上进行转换操作,则会生成一个新的RDD RDD是分区的,RDD里面 ...

  3. Nagios Email告警 发不了,可能是 /var/spool/mqueue nagios用户没权限

    Nagios邮件报警   Nagios邮件报警 准备 yum - y install ntp        ntpdate time.windows.com   同步时间,否则无法发送邮件 yum - ...

  4. python:windows下python2.7安装mysql-python失败【转】

    转自:https://www.cnblogs.com/yujiebingqing/p/9633476.html 当我们尝试用: 1 pip install mysql-python #并不是MySQL ...

  5. python打包exe文件

    https://blog.csdn.net/lqzdreamer/article/details/77917493 测试下载pyinstall,在安装运行就可以了

  6. Matplotlib-多图合并显示

    Subplot 多合一显示 均匀图中图 不均匀图中图 # 均匀图中图 # matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. # 使用impor ...

  7. 在树莓派3B、Ubuntu 18.04关闭板载Wifi、蓝牙

    树莓派没有传统的BIOS设置界面,文件/boot/firmware/config.txt就相当一个BIOS设置.这里是config.txt的详细文档:https://github.com/raspbe ...

  8. jenkins上gradle打包

    https://blog.csdn.net/charon_chui/article/details/80510701

  9. 网页html格式导出Excel.xls

    1.创建excel方法 /// <summary> /// 创建Excel表格 /// </summary> /// <param name="dt" ...

  10. 云笔记项目- 上传文件报错"java.lang.IllegalStateException: File has been moved - cannot be read again"

    在做文件上传时,当写入上传的文件到文件时,会报错“java.lang.IllegalStateException: File has been moved - cannot be read again ...