`
sillycat
  • 浏览: 2554548 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Shell Script Create DynamoDB Tables

 
阅读更多
Shell Script Create DynamoDB Tables

# how to run
# dynamodb-scripts/create-device-dynamo-tables.sh {ENV} {WriteCapacityUnits} {ReadCapacityUnits}
# eg: dynamodb-scripts/create-device-dynamo-tables.sh int 5 5
echo "Start to create the DynamoDb table"
aws dynamodb create-table --table-name sillycat_device-$1-devicePairingInfo \
--key-schema AttributeName=serialNumber,KeyType=HASH \
--global-secondary-indexes \
IndexName=groupUUID-index,KeySchema=["{AttributeName=groupUUID,KeyType=HASH}"],Projection={ProjectionType=ALL},ProvisionedThroughput="{WriteCapacityUnits=$2,ReadCapacityUnits=$3}" \
IndexName=pairingToken-index,KeySchema=["{AttributeName=pairingToken,KeyType=HASH}"],Projection={ProjectionType=ALL},ProvisionedThroughput="{WriteCapacityUnits=$2,ReadCapacityUnits=$3}" \
IndexName=deviceUUID-index,KeySchema=["{AttributeName=deviceUUID,KeyType=HASH}"],Projection={ProjectionType=ALL},ProvisionedThroughput="{WriteCapacityUnits=$2,ReadCapacityUnits=$3}" \
--attribute-definitions AttributeName=serialNumber,AttributeType=S AttributeName=groupUUID,AttributeType=S AttributeName=pairingToken,AttributeType=S AttributeName=deviceUUID,AttributeType=S \
--provisioned-throughput WriteCapacityUnits=$2,ReadCapacityUnits=$3

echo "Wait for the table creation finish on AWS"
aws dynamodb wait table-exists --table-name sillycat_device-$1-devicePairingInfo

echo "Add TTL column to that table"
aws dynamodb update-time-to-live --table-name sillycat_device-$1-devicePairingInfo --time-to-live-specification Enabled=true,AttributeName=pairingCodeDeleteTime

echo "Creation is done. Enjoy it."

There are several important parts in this script.
wait, we can wait until the table exists in the AWS. That is very useful.
ttl, we can set up ttl for one column in the table
GSI, we can create other GSI in this table.


References:
https://docs.aws.amazon.com/cli/latest/reference/dynamodb/update-time-to-live.html
https://docs.aws.amazon.com/cli/latest/reference/dynamodb/wait/index.html
https://docs.aws.amazon.com/cli/latest/reference/dynamodb/wait/table-exists.html
https://aws.amazon.com/cn/blogs/aws/new-manage-dynamodb-items-using-time-to-live-ttl/
分享到:
评论

相关推荐

    copy-dynamodb-table:将Dynamodb表复制到相同或不同区域中的另一个表,这是100%安全的。 速度取决于目标表用户定义的写入预配置吞吐量

    安全复制Dynamodb表 该模块将允许您使用非常简单的API将数据从一个表复制到另一个表,支持跨区域复制和每个表(源和目标)的AWS配置,并且可以使用源表架构创建目标表 安装 ... create : true , // c

    Laravel开发-dynamodb

    在本文中,我们将深入探讨如何在Laravel框架中利用DynamoDB进行开发,基于提供的标题“Laravel开发-dynamodb”和描述中提到的资源“laravel-dynamodb”库。DynamoDB是Amazon Web Services(AWS)提供的一款无服务器...

    DynamoDB开发人员指南

    DynamoDB是亚马逊提供的完全托管的NoSQL数据库服务,允许用户无需管理服务器即可存储和检索任意量的数据。DynamoDB支持多种数据类型,包括标量值、文档和集合类型。它能够为数据提供快速的访问速度,并且能够自动...

    dynamodb-gsg

    创建表(Create Table): 在DynamoDB中创建一个新的数据表。 b. 获取表信息(Get Information about Tables): 可以通过API调用获取表的描述信息或获取当前所有表的列表。 c. 写入项目(Write Items): 可以通过...

    dynamodb-dg.pdf

    DynamoDB官方文档,入门文档。学习dynamoDB的工具,开发人员指南,API。 Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,提供快速且可预测的性能,同时还能够实现无缝扩展。使用 DynamoDB,您可以免除操作和...

    Go-dynago-Go的DynamoDB客户端

    err := client.CreateTable("MyTable", dynago.DefineTable( dynago.Key{ HashKey: "id", Type: dynamodb.AttributeTypeS, }, dynago.Attribute("name", dynamodb.AttributeTypeS), )) if err != nil { // ...

    DynamoDB Cookbook

    DynamoDB Cookbook by Tanmay Deshpande, Over 90 hands-on recipes to design Internet scalable web and mobile applications with Amazon DynamoDB

    go-dynamodb-create-table-example:使用golang在DynamoDB上创建表

    在本文中,我们将深入探讨如何使用Golang(Go语言)与Amazon DynamoDB进行交互,特别是如何创建表。DynamoDB是AWS(亚马逊网络服务)提供的一款高性能、完全托管的NoSQL数据库服务,它以键值对和文档存储的形式提供...

    DynamoDB文件SDKDynamoDBDocumentSDK.zip

    dynamodb-document-js-sdk 抽离出低端 SDK 属性值的类型,以提供更简单的开发经验。JS 数据类型,如 string 和 number 可以直接传送到 DynamoDB 需求中;同样,数据类型不会被打包。示例代码:// Basic Client ...

    node-dynamodb, node.js的DynamoDb驱动程序.zip

    node-dynamodb, node.js的DynamoDb驱动程序 基本node.js的简单,高效和完整的DynamoDB驱动程序,带有:NodeJS中处理dynamodb格式Amazon格式的语法 sweeteners/映射有效和透明的身份验证和认证刷新使用与 amazon PhP...

    Laravel开发-laravel-dynamodb-session-driver

    在本文中,我们将深入探讨如何在Laravel框架中使用DynamoDB作为会话驱动程序,以便在AWS(亚马逊网络服务)环境中实现高效、可扩展的会话管理。Laravel是PHP的一个流行开源Web应用程序框架,它提供了丰富的功能来...

    dynamodb-lambda-autoscale, 使用Lambda实现自动缩放 DynamoDB.zip

    dynamodb-lambda-autoscale, 使用Lambda实现自动缩放 DynamoDB dynamodb-lambda-autoscale使用 AWS Lambda函数 自动缩放 AWS DynamoDB5 分钟设置过程无服务器设计通过配置样式实现灵活的代码自动缩放表和全局二级...

    dynamodb_local_latest.zip

    Amazon DynamoDB 是一个键/值和文档数据库,可以在任何规模的环境中提供个位数的毫秒级性能。它是一个完全托管、多区域多主的持久数据库,具有适用于 Internet 规模的应用程序的内置安全性、备份和恢复和内存缓存。...

    DynamoDBLocal-1.11.86.jar

    DynamoDBLocal-1.11.86.jar

    Laravel开发-laravel-dynamodb-eloquent-syntax

    Laravel开发-laravel-dynamodb-eloquent-syntax 来自https://github.com/baopham/laravel-dynamodb的dynamodb的自定义雄辩语法

    DynamoDB基本操作

    DynamoDB是Amazon Web Services(AWS)提供的一款高性能、完全托管的NoSQL数据库服务,它设计用于处理大规模的在线事务处理(OLTP)工作负载。本篇将深入讲解DynamoDB的基本操作,包括数据模型、读写操作、索引、...

    AWS官方文档:DynamoDB ElasticCache RDS RedShift SimpleDB

    在AWS(Amazon Web Services)的云服务矩阵中,DynamoDB、ElasticCache、RDS(Relational Database Service)以及RedShift和SimpleDB是五个非常关键的数据存储和管理服务,它们各自针对不同的数据处理场景和需求。...

    DynamoDB的Node.jsORM框架Dynasaur.zip

    Dynasaur 是 Node.js 的一个 ORM 扩展框架,用来访问 AWS 的 DynamoDB NoSQL 数据库。 示例代码: module.exports = (dynasaur) -> blog_post_schema = attributes: author: String title: String body...

Global site tag (gtag.js) - Google Analytics