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. Java笔记Spring(五)

    C:\apache-tomcat-8.0.36\bin\catalina.bat run [2018-05-23 02:30:31,657] Artifact demo-springmvc:war e ...

  2. flutter 访问网页+http请求

    一.目录 1.访问网页 2.http请求 -----------------------------这是分割线----------------------------- 1.访问网页 基于url_la ...

  3. 可编辑的div -> 编辑框

    操作可编辑的div中,无可厚非,怎么获取当前光标位置,复制,粘贴等知识是必须要懂得,下边这个链接里面对其有详细的解释: 请点这里 想看详细的例子请点击这里

  4. C#异步方法

      Task MainTask;   MainTask = Task.Factory.StartNew(() =>             { //耗时的异步逻辑 });

  5. RDD的概念与创建

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

  6. 29.python环境搭建

    新的笔记本上搭建的python运行环境:1.首先现在下载python版本,我这里拿的是之前用的3.5老版本 2.双击安装(勾选 add Python3.5 to path) 3.检测是否安装成功 4. ...

  7. 菜鸟教程之学习Shell script笔记(中)

    菜鸟教程Shell script学习笔记(中) 以下内容是学习菜鸟教程之shell教程,所整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-sh ...

  8. 1. [Vue warn]: Missing required prop: "value"

    意思是说数据没有绑定,页面缺少value值.应该v-model进行数据绑定.

  9. php laravel+nginx 除了根目录都报404 解决

    在nginx的配置文件加 location / { try_files $uri $uri/ /index.php?$query_string; } 即可!!!!!!!

  10. 36_react_ui_antd

    1:最流行的开源react ui组件库 1.1:material-ui(国外) 1.2:ant-design(推荐:国内蚂蚁金服) 2.如何使用 方式一(页面引入): 在<head>标签内 ...