标签: amazon-dynamodb

如何检查DynamoDB表是否存在?

我是boto3中的新用户,我正在使用DynamoDB.

我经历了DynamoDB api,我找不到任何方法告诉我表是否已经存在.

处理此问题的最佳方法是什么?

我应该尝试创建一个新表并使用try catch包装它吗?

python amazon-dynamodb boto3

32
推荐指数
5
解决办法
3万
查看次数

将AWS Dynamodb备份到S3

亚马逊文档 http://aws.amazon.com/dynamodb/以及其他地方已经建议你可以使用Elastic Map Reduce备份你的dynamodb表,
我对这如何工作有一个大致的了解,但我不能找到任何指南或教程,

所以我的问题是如何自动化dynamodb备份(使用EMR)?

到目前为止,我认为我需要使用map函数创建一个"流"作业,该函数从dynamodb读取数据,并将reduce写入S3,我相信这些可以用Python(或java或其他几种语言)编写.

任何评论,澄清,代码示例,更正都表示赞赏.

backup amazon-s3 elastic-map-reduce amazon-dynamodb

31
推荐指数
5
解决办法
4万
查看次数

DynamoDB:提供的关键元素与架构不匹配

有没有办法根据不是哈希键的字段获取项目?

我的表用户: id (HashKey), name, email

我想检索发送电子邮件为'test@mail.com'的用户

怎么做到这一点?

我用boto尝试这个:

user = users.get_item(email='john.doe@gmail.com')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

'The provided key element does not match the schema'
Run Code Online (Sandbox Code Playgroud)

python boto amazon-web-services amazon-dynamodb

31
推荐指数
4
解决办法
6万
查看次数

Swift:类型XXX必须符合协议'NSObjectProtocol'

我正在尝试实现一个必须的Swift类

  1. 从Objective-C类继承
  2. 使用类变量实现Objective-C协议.

虽然我继承的Objective-C类继承自NSObject,但我收到以下编译错误:

Type DDBItem must conform to protocol 'NSObjectProtocol'

我继承/实现的Objective-C类和Objective-C协议可以在https://github.com/aws/aws-sdk-ios/blob/master/DynamoDB/AWSDynamoDBObjectMapper.h上找到.

AWSDynamoDBModel有一个很长的继承链,最终从NSObject开始AWSDynamoDBModeling强制执行两个类变量.

我的代码是

class DDBItem : AWSDynamoDBModel, AWSDynamoDBModeling {

//    class var dynamoDBTableName : String { get { return "" }}
//    class var hashKeyAttribute  : String { get { return "" }}

    class func dynamoDBTableName() -> String! {
        return ""
    }
    class func hashKeyAttribute() -> String! {
        return ""
    }
}
Run Code Online (Sandbox Code Playgroud)

Bonus问题:当试图将Objective-C协议强制类变量实现为Swift类变量时,我收到一个编译错误:

Type DDBItem must conform to protocol 'AWSDynamoDBModeling'

将它们作为函数实现似乎是可以接受的.为什么?

objective-c ios amazon-dynamodb swift

31
推荐指数
2
解决办法
2万
查看次数

如何按日期(范围键)查询DynamoDB,没有明显的哈希键?

我需要将iOS应用程序上的本地数据与DynamoDB表中的数据保持同步.DynamoDB表是大约2K行,只有一个散列键(id),以及以下属性:

  • id (UUID)
  • lastModifiedAt (时间戳)
  • name
  • latitude
  • longitude

我目前正在扫描和过滤lastModifiedAt,其中lastModifiedAt大于应用程序的上次刷新日期,但我认为这将变得昂贵.

我能找到的最佳答案是添加一个全局二级索引lastModifiedAt作为范围,但GSI没有明显的哈希键.

当需要使用GSI按范围查询时,最佳做法是什么,但没有明显的散列键?或者,如果完全扫描是唯一的选择,是否有任何最佳做法来降低成本?

amazon-web-services amazon-dynamodb aws-sdk

31
推荐指数
3
解决办法
2万
查看次数

Dynamodb读写单元

我一直在阅读有关亚马逊DynamoDB的各种文章,但我仍然对阅读/写作单位如何使用这些文章感到困惑.例如,使用免费版本,我每秒有5个写入单位和10个读取单位,每个单位代表1kb数据.但这究竟意味着什么呢?

这是否意味着每秒可以执行最多10个读取请求,或者每秒可以请求最多10kb的数据(无论是否有10个或100个请求)?因为这方面对我来说并不清楚.因此,如果我有20个用户同时访问我网站上的页面(导致执行20个查询以检索数据),会发生什么?他们中的10个会立即看到数据,而其他10个会在1秒后看到它吗?或者,如果请求的数据(乘以20)小于10kb,他们是否会立即看到数据?

另外,如果读取单元不够,100个用户同时请求1kb数据,这是否意味着所有请求都需要10秒才能完成?

此外,定价有点令人困惑,因为我不明白是否为预留或消费的单位支付了价格?例如,他们说价格是"写入吞吐量:每10个写入容量单位每小时0.00735美元".这是否意味着即使一天没有提出书面请求,也会支付($ 0.00735*24 = $ 0.176)?

amazon-dynamodb

30
推荐指数
2
解决办法
1万
查看次数

Amazons dynamodb(通过aws sdk)有一个很好的对象映射器可以在nodejs中使用吗?

也许这个问题不适用于dynamoDB,因为它不是关系型Db.但是,我正在寻找一个好的对象映射器,它可以在nodejs和aws sdk中用于将现有的模型类映射到dynamoDB表.有没有人有这个问题/问题的经验,或者您是否使用过这样的模块/库?

amazon-web-services node.js amazon-dynamodb

29
推荐指数
5
解决办法
2万
查看次数

如何自动扩展Amazon DynamoDB吞吐量?

Amazon DynamoDB不提供内置功能,可根据动态负载自动调整吞吐量.它提供API来增加或减少吞吐量.客户按小时计算配置的读写吞吐量.

有哪些方法可以改变dynamodb的吞吐量并实现成本节约的好处?

amazon-web-services amazon-dynamodb

29
推荐指数
4
解决办法
2万
查看次数

我们如何使用boto3查询dynamodb的二级索引?

有没有办法查询global secondary index使用的dynamodb boto3.我找不到任何在线教程或资源.

amazon-web-services amazon-dynamodb boto3

29
推荐指数
3
解决办法
2万
查看次数

Python / Boto3:不支持浮点类型。使用 Decimal 类型代替

我使用 Python 3.7 将数据存储在 DynamoDB 数据库中,当我尝试将项目写入数据库时​​遇到以下错误消息:

Float types are not supported. Use Decimal types instead.
Run Code Online (Sandbox Code Playgroud)

我的代码:

ddb_table = my_client.Table(table_name)

with ddb_table.batch_writer() as batch:
    for item in items:
        item_to_put: dict = json.loads(json.dumps(item), parse_float=Decimal)

        # Send record to database.
        batch.put_item(Item=item_to_put)
Run Code Online (Sandbox Code Playgroud)

“items”是 Python 字典的列表。如果我打印出“item_to_put”字典的类型,它们都是 str 类型。

预先感谢您的任何帮助。

python amazon-dynamodb boto3

29
推荐指数
2
解决办法
3万
查看次数