我们刚刚从使用ServiceStack MemoryCacheClient切换到使用DynamoDbCacheClient来存储经过身份验证的用户会话,切换非常顺利。ServiceStack正在将身份验证/会话数据作为Expected存储到dynamo DB中,到期日期看起来是正确的
然而,它突出了一个问题,即旧会话不会被删除,无论其过期时间如何
我假设这是预期的行为,这让我想知道建议的清除旧会话的方法是什么,因为如果不进行更改,DynamoDB“CacheEntry”表将变得越来越大
还有其他
我正在扫描一个巨大的表(>1B个文档),所以我使用并行扫描(每个工作人员使用一个段)
该表有一个哈希键和一个排序键
直观地说,一个段应该包含一组散列键(包括它们的所有排序键),因此一个散列键不应该出现在多个段中,但我还没有找到任何说明这一点的文档
有人知道DynamoDB在这种情况下的行为吗
谢谢这是一个有趣的问题。我认为很容易找到一个文档,说明每个段包含一个不相交的散列键范围,并且同一个散列键不能出现在多个段中,但我也没有找到任何这样的文档。我很好奇是否有人能找到这样一份文件。同时,我可以试着
我来自mongodb的背景,我想建立一个带有嵌入式集合的文档
例如,如果我有一个profile对象
侧面图
名称:string
追随者:[
名称:string
]
这样它就有了一个内嵌的追随者集合
是否有一种方法可以在配置文件上创建索引,以便查询所有配置文件,其中Profile.Followers包含myUsername
简而言之,我可以从dynamoDB表中查询我遵循的配置文件
在mongo中,我可以通过在Profile.followers上设置一个索引并执行$In查询来轻松实现这一点。d
在我的Android应用程序中,我使用Amazon DynamoDB。我创建了10个表,读容量为10,写容量为5。今天我收到一封来自亚马逊的电子邮件。它花了我11.36美元
我不明白自由层的含义。以下是我从亚马逊上读到的内容:
DynamoDB客户可以免费获得25 GB的存储空间,以及多达25个写容量单元和25个读容量单元的持续吞吐量(足以处理每月2亿个请求)和250万个DynamoDB流的读取请求。
请更清楚地告诉我免费层的含义:25读和25写容量单位P.Amazon考虑所有表的读取和写入容
我正在对每秒3000个请求的服务进行负载测试。每个请求都从DynamoDB表中获取数据。该表具有每秒10000次读取的已设置读取容量。但是,我得到以下例外情况:
com.amazonaws.services.dynamodbv2.model.provisionedthroughputeExceedexception:表配置的已配置吞吐量级别已超过
D考虑使用可更新的API增加您的配置级别(Service:AdvMaMadioDbv2;状态代码:400;错误代码:提供代码)
ExceedeExce
DynamoDB有没有办法只在全局二级索引中包含一些行?例如,我想用一个属性列出所有发生过的事情,该属性指示它是否处于活动状态。如果它处于活动状态,我希望它显示在GSI中,但如果它不处于活动状态,则根本不需要对其进行投影。这可能吗?根据我的测试,您似乎可以使用null作为范围键,没有该属性的行将不会被投影。GSI是一个稀疏索引,这意味着如果为GSI定义的分区和排序键在项上不存在,它将不存在于GSI中
此外,请记住GSI中的分区键和排序键不需要像基表一样是唯一的。GSI不强制唯一性
在不了解数据模
我在DynamoDb表上有以下全局二级索引,在使用descripe表时显示:
"GlobalSecondaryIndexes": [
{
"IndexSizeBytes": 14339252,
"IndexName": "Id-AddedOn-index",
"Projection": {
"ProjectionType": "INCLUDE",
我有一个连接到step函数的DynamoDB,我正在构建一个UI来显示更改。我将DB连接到AppSync实例,并尝试通过AppSync使用订阅,但他们似乎只观察到当前AppSync中的突变
如何直接订阅数据源更改?您是对的。目前,AppSync订阅仅由GraphQL突变触发。如果从AppSync以外的源对DynamoDB进行了更改,则不会触发订阅
如果要跟踪对DynamoDB表所做的所有更改,并使用AppSync发布这些更改,可以执行以下操作:
1) 设置DynamoDB流以捕获更改并将更改反馈
我们对DynamoDB还不熟悉,正在努力完成一项看似简单的任务
它实际上与股票无关(它是关于记录机器随时间变化的结果),但股票例子是我能想到的最简单的例子,它说明了我们面临的目标和问题
两种查询场景是:
给定股票符号的所有历史价值在我看来,有一种方法相当简单
与其使用GSI,不如使用(几乎)完全相同模式的两个表。两者的哈希键都应该是symbol。它们都应该具有力矩和值。选择一个表作为股票当前,另一个表作为股票历史库存当前没有范围键股票历史使用时刻作为范围键
无论何时编写项目,都要将其写入两个表
我已经将3.4亿行从DynamoDB导出并转换为S3。我现在正试图使用数据管道将它们导入DynamoDB
我将表写入资源调配设置为5600个容量单位,而我似乎无法让管道使用超过1000-1200个容量单位(由于度量图的粒度,很难说出真正的数字)
我已经尝试增加从属节点的数量以及每个从属节点的实例大小,但似乎没有什么不同
有人有什么想法吗?问题是表上有一个二级索引。无论我选择的写资源调配级别和EMR中的机器数量如何,我都无法获得超过1000台。我将级别设置为7000,因此1000台是不可接受的
我
我有一张叫做银行对账单的dynamoDB表格
它有一个主分区键:-
名称:TransactionID(编号)
它有一个索引:-
名称:语句类型索引
状态:活动
类型:GSI
分区键:语句类型(字符串)
在StatementType列中有几个标记为“RBS”的记录
我是用C写的:
public异步任务GetRecordList()
{
尝试
{
var请求=新的QueryRequest
{
TableName=“银行对账单”,
KeyConditionExpression=“Stateme
我有一个DynamoDB表,其中存储链接数据(url,date,category,标记等)
我需要能够-
按url查找项目(检查url不存在)
查找给定日期之后存储的所有项目
基于以上内容,我在date上以url作为主散列键和辅助索引设置了模式,如下所示-
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
TableName:
Type: String
Default: "my_links"
HashAttr:
我正在使用DAX客户端和DyanamoDBMapper。我正在使用以下依赖项
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.11.751</version>
这可能是一个愚蠢的问题,因为我是初学者。我尝试使用aws cli将DynamoDB中的现有表名(例如MusicCollection)更新为“Music”。但失败了
下面是我尝试使用的cli命令
aws dynamodb更新表--表名MusicCollection | Music
有人能告诉我如何使用aws cli或aws管理控制台更新现有表名吗?这是否回答了您的问题?这回答了你的问题吗?
我需要一些关于设计每小时/每天处理的大数据ETL作业的建议。我需要一个定期运行超过1.8TB元数据的系统,以便将数据转换为计费报告,供下游使用
要求:
Primary DataSource: DynamoDB has the core metadata, 1.8TB and growing unbounded, metadata would be updated all the time.
Latency: Need to finish the job within 12 hours.
Av
我正在为我们的一个产品实现一个名为default naming的功能,我想看看conditional putItem如何帮助我实现我们的业务逻辑需求
问题是:
我们有一个遗留的dynamoDB表,它存储一些实体信息。模式为:entityId、名称、制造商
entityId是主键,它实际上是一个UUID,名称和制造商只是属性
现在,当我们向表中插入一个新条目时,我们的特性需要生成一个默认名称。每个制造商的默认名称必须是唯一的,我们希望使用序列号来表示它
在表中,我们有两个现有项目
123, lu
我正在使用Lambda将DynamoDB流发送到Kenesis消防站,然后发送到Elasticsearch
我想知道是否有可能从DynamoDB自动重新加载Elasticsearch索引数据。我的意思是,如果我删除去弹性搜索索引数据。如何在不使用任何lambda脚本的情况下再次发送旧的
在DynamoDB的视图类型中,我选择了新图像和旧图像。我不知道这是否有关系。因为有时我在Apple TraceStar记录中收到一个名为“代码> OLDimeS/或 NeWMMAGE 的属性,它包含来自DyDo
我刚刚阅读了弹性搜索,发现它对文档中的每个术语以及所有字段都进行了索引。虽然它有一些缺点,比如它不能提供事务等。但是对于我只需要从DB读取数据而不需要写的应用程序,使用Dynamo DB而不是弹性搜索有什么好处吗。早些时候,我曾考虑使用Dynamo Db,但现在在看到它为每个字段编制索引之后,为什么不使用弹性搜索本身呢。到目前为止,为我的项目定义的唯一用例是通过id进行搜索。但在未来,更多的用例会出现,那么在Dynamo Db中添加更多索引将非常困难,但在弹性搜索中已经存在了
有人能告诉我Dyn
我尝试在我的无服务器aws lambda中应用dynamodb。
我的文件如下:
resources:
Resources:
StoreDynamoDbTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
- AttributeName: id
Attribu
我确信对于DynamoDBMapper.load(),若尝试查询数据库但未找到任何内容,它将返回null
但是DynamoDBMapper.batchLoad()呢?
公共映射>批量加载(Iterable itemsToGet)
文件仅说明:
加载对象的贴图。映射中的每个键都是DynamoDB表的名称。地图中的每个值都是从该表加载的对象列表。每个表的所有对象都可以转换为关联的用户定义类型,该类型被注释为映射该表
所以我猜它不会返回null,而是一个空映射,甚至是空列表?它将返回一个空的映射
要进
我目前正在使用AWS cli在DynamoDB中创建一个表。我使用的命令是
aws dynamodb create-table --cli-input-json file://.feature_promotions-dynamodb.json --endpoint-url http://localhost:8000
基于create table的文档,我应该能够将计费模式设置为PAY\u PER\u REQUEST,而无需设置已设置的吞吐量,但每次运行命令时,我都会返回以下错误:
An er
我在找dynamodb。它有一个段的概念,每个线程都对其进行操作
假设扫描被中断,我们有每个线程的最后一个评估键,是否有可靠的方法从中断处重新开始扫描
关键问题是如何定义段,以及它们在并行扫描的多个运行中是否以相同的方式定义?似乎没有太多关于如何定义段的文档。每次并行扫描都有一个线程,如果一次扫描失败,只需重新执行该特定扫描。数据根据totalSegments和segmentId进行了大致相等的划分
有关其工作原理的更多信息
在中有一个工作示例,假设我进行并行扫描,然后中断扫描。然后我再次开始扫
我在ASP.NETWebAPI中编写了如下代码。我希望在应用程序中显示实时行计数t0。下面代码的问题是它显示的扫描计数为7134。但实际价值以百万计
var cancellationToken = new CancellationToken();
AmazonDynamoDBClient client = new AmazonDynamoDBClient();
var request = new ScanRequest
记住在DynamoDB中拥有一个表并使用尽可能唯一的分区键在分区之间均匀分布项的最佳实践,我遇到了一个问题
假设我的表存储用户、项目和设备等项目。我将每个项目的id存储为分区键。每个id都以其类型作为前缀,例如用户XXXX、项目XXXX和设备XXXX
现在的问题是如何只查询某一类型的对象?例如,我想检索所有用户,我该怎么做?如果分区键允许使用begin_with运算符,那么我就可以搜索前缀,但分区键只允许使用相等运算符
如果现在我使用我的类型作为分区键,例如,user作为分区键,然后user i
我正在为一个系统设置一个无服务器应用程序,我想知道以下几点:
说我的桌子是公司的。每个公司都可以有发票。每家公司大约有6-8000张发票。假设我有14家公司,这导致我的表中有大约112000个项目
这样处理“可以”吗?我将只为我做的每个Get请求付费,并且我可以在同一个Get请求中查询许多项目
我不会在每次写入或获取项目时获取每个项目
那么,对于一张表中最多应该有多少项,是否有一个建议?我可以一起烘焙一些项目,但我主要想要一个一般性的推荐。迪纳摩Db甚至不会注意到10万个条目
如LifeOf
我是AWS服务的新手,希望了解在这个特定场景中是否可以使用dynamodb和cognito sync:
将公司办公室中的数据发布到一个中央dynamodb上的几个表中
在移动应用程序中使用cognito sync定期将这些表复制到移动设备的本地存储(从central dynamodb到远程移动设备的单向同步)
据我所知,cognito sync通常用于同步用户的配置文件数据,但我想了解是否有可能以这种不同的方式使用它(一个dynamodb存储库用于所有授权的移动用户)
谢谢,,
Mario不
Amazon推荐的在生产DynamoDB中更改大表模式的方法是什么
设想一个假设的情况,其中我们有一个表Person,其主散列键为SSN。此表可能包含1000万项
现在有消息说,由于身份盗窃案数量巨大,这个假想国家的政府引入了另一种个人身份:唯一个人识别码(Unique personal Identifier,简称UPI)
我们必须添加一个UPI列并更改Person表的模式,以便现在主哈希键是UPI我们希望在一段时间内支持使用SSN的当前系统和使用UPI的新系统,因此我们需要这两列在Person
我正在尝试使用AWS Java SDK连接到本地Dynamo DB。因此,我安装了本地的Dynamo DB并启动了javascript shell。所有工作正常,外壳从通常的地址开始http://localhost:8000/shell/
现在,当我试图通过AWS SDK访问Dynamo DB实例时,事情开始破裂
这是我的密码:
公共类MyDynamoDB{
私有Amazondynamodb客户端;
公共MyDynamoDB(){
client=新的AmazonDynamoDBClient();
我有一个ID列表,我想以一种有效的方式检查哪些ID存在于我的DynamoDB中
例如,我的ID列表可能是:
[1, 2, 3, 4, 5]
我的名为Cats的DynamoDB表具有以下内容:
{id: 1, name: 'cat1'}, {id: 3, name: 'cat3'}, {id: 5, name: 'cat5'}
我想通过一个电话知道ID 1、3、5在我的DynamoDB中。不确定这是否可以通过1个get请求实现,或者我是否需要进行5个get。我认为答案取决于您的数据结构如何
请
运行sls offline start并尝试访问用户终结点后,获取错误无法对不存在的表执行操作。serverless.yml文件如下所示:
service:
name: digital-secret
plugins:
- serverless-dynamodb-local
- serverless-offline # must be last in the list
custom:
userTableName: 'users-table-${self:provider.st
我试图更好地理解在AWS DynamoDB中使用邻接列表模式进行多对多(m:n)关系设计
看看这里的AWS文档:我们有一个例子,其中一个发票和账单实体具有m:n关系
我知道我可以通过读取单个分区来获取与特定发票相关联的所有账单的详细信息。例如,我可以查询Invoice-92551,并根据分区中的其他项目了解与其关联的两张票据的一些属性
我的问题是,我必须做什么才能获得这两张账单的完整账单属性。这是否需要使用我从invoice分区派生的ID进行2次额外的查询,或者这里是否缺少其他模式
其他详细信
我有一个DynamoDB表,其中包含数十万个数据,我需要复制这些数据,其中一个捕获项需要修改密钥。当前键是两个字段的组合,例如attr1:attr2。我需要新表的键仅由attr1组成
我知道用数据管道复制表非常简单,但是如何根据我的用例创建新的键呢
注:数据大小介于500K和1M项之间。使用弹性贴图缩小来操作数据。这说明了如何使用EMR处理DynamoDB数据。创建一个将解析和操作密钥的
SELECT UDF(id), all, other, columns FROM your_tabl
我在AWS上有一个使用DynamoDB的应用程序,用户可以互相发送消息。我不熟悉AWS,缺乏最佳实践知识
我的应用程序现在开始缓慢地检索用户的消息,因为我的数据库中有越来越多的数据
我认为这是因为我的主键,我想知道在这种情况下什么是好的主键
目前我使用随机guid作为主键
我希望检索与用户对应的所有消息,我正在执行扫描操作
我想使用一个基于用户名的复合值作为主键,但我想知道它是否会更好。例如,如果我需要为一个用户检索消息的数量并增加,那么创建主键的请求可能需要更长的时间
这里什么是好的主键
谢谢
一般来说,我对dynamoDB和NoSQL都是新手。我使用aws amplify创建此表:
{
"Table": {
"AttributeDefinitions": [
{
"AttributeName": "category",
"AttributeType": "S"
},
{
"AttributeNa
我试图在dynamodb扫描过滤器上使用NOT运算符
aws dynamodb scan --table-name dev-users \
--select SPECIFIC_ATTRIBUTES \
--projection-expression id \
--filter-expression "address.#state IN (:s1, :s2, :s3, :s4)" \
--expression-attribute-names '{"#state": "state"}' \
--ex
我有一个以下划线开头的键,不知道如何查询它
aws dynamodb query \
--table-name mytable \
--key-condition-expression '_mykey=:xxx' \
--expression-attribute-values '{ ":xxx": {"S": "somevalue"}}'
An error occurred (ValidationException) when calling the Query ope
我有terraform stack,它在DynamoDB中保持锁:
terraform {
backend "s3" {
bucket = "bucketname"
key = "my_key"
encrypt = "true"
role_arn = "arn:aws:iam::11111111:role/my_role"
dynamodb_t
如果使用DynamoDB作为事件数据库,事件无序到达,我如何确保表中保存的数据始终是最新的。
比如说,
表a中的客户记录于2020年2月15日更新。如果延迟事件发生,更新日期为2020年2月14日;我不想更新表。在服务上进行读取和确定可能会使这成为一个成本更高的操作,所以也要避免这种情况。寻找DynamoDB可以在内部处理此问题的解决方案
在Cassandra上,这是可能的,因为客户端可以提供时间戳来确定列的最新更新。不知道DynamoDB是否支持此功能。DynamoDB支持条件更新:
要执行条
我有一个DynamoDB表,有1000万条记录。我需要每24小时对每个记录的主键执行一些计算。为了实现这一点,我可以每24小时查询一次整个表。由于单个DynamoDB查询只返回1MB数据,这将使总查询和计算时间超过24小时,因此我希望有10名工作人员执行DynamoDB查询和计算。我应该如何查询该表,以便一条记录只能由一名工作人员检索,最终检索所有1000万条记录
似乎我需要将LastEvaluatedKey保存在某个位置,以便worker 2知道worker 1查询的结束位置,以便继续查询表。
我对Dynamo DB非常陌生,这可能是一个非常琐碎的问题,但我查阅了Dynamo DB和堆栈溢出问题的文档,但我找不到一个链接,告诉我如何查询DDB以查找GSI,GSI只有哈希键,没有为其指定范围键
我得到异常非法查询表达式:在查询中找不到哈希键条件 在DynamoDB注释模型对象上,应使用@DynamoDBIndexHashKey(globalSecondaryIndexName=“gsiIndexName”)表示它是GSI的哈希键:
@DynamoDBTable(tableName=“my
背景:我有一个DynamoDB表,我专门与DAO类交互。这个DAO类记录对boto库执行插入/更新/删除操作的调用次数
我注意到,我在代码中记录的操作数确实与AWS监控中消耗的读/写容量相关,但AWS消耗量测量值是我在代码中记录的操作数的2-15倍
我知道,与该表交互的唯一其他进程是我在AWS UI上的手动查询(这在容量消耗方面无关紧要)。我还知道,每个项目的大小都小于1KB,这意味着每个调用应该只消耗1次读取
我使用强一致性读取,因此我不享受最终一致性读取的2倍好处
我知道boto自动重试最多
我有一个包含不同人发布的博客的表格;主键是作者+时间;
如何查询按时间排序的最后4个博客?(获取blog6、blog3、blog5、blog4)
如果我创建了一个全局二级索引(即:我创建了一个新的属性调用status,将所有值设置为“ok”),则将status+time设置为主键
我知道我能解决我的问题。但结果是:索引中的所有数据将只存储在一个分区中
它会导致任何弱点吗?如何查询按时间排序的最后4个博客?
这可以使用Query的ScanIndexForward来完成。发件人:
您可以使用Sc
对于支持多主机复制的可扩展数据库,哪些是好的选择。我们谈论的是15-16 TB的数据。我们正在考虑DynamoDB。还有什么数据库需要我们查吗。
欢迎提供有关DynamoDB使用的任何建议以及有关所需数据库类型的新想法。目前,DynamoDB支持使用on-Github进行跨区域复制。划分分区并按区域对键空间进行排序,然后在每个区域中运行库,这应该有点简单。您必须修改库以忽略区域中未掌握的项的流记录(每个区域应仅传播该区域中掌握的项的更改)。在此设置中,每个区域中的每个主副本表都将启用一个流,并且
使用dynamodb mapper的query()函数返回的结果数量有大小限制吗。遵循文档,但没有提到任何限制。
没有尺寸限制。DynamoDB映射器查询API返回PaginatedQueryList。数据是基于
默认情况下,映射程序使用延迟加载。分页列表在可能的情况下被延迟加载,所有加载的结果都保存在内存中
我无法解决查询键条件不受支持的问题
如果我从KeyConditionExpression中删除“and#position=:position”,效果会很好
希望你能帮助我
多谢各位
为了在KeyConditionExpression中使用,应该将position属性定义为sort key
请将position属性定义为GSI的排序键category index为了在KeyConditionExpression中使用,应将position属性定义为sort key
请将position属性定义为G
我正在决定是否为每个客户提供一张桌子,或者客户是否与其他人共享一张桌子。为每个客户创建一个表似乎有问题,因为这只是另一件需要管理的事情
但后来我考虑备份数据库。可能会出现这样的情况:客户没有强大的IT安全性,甚至没有不满的员工,此人会删除客户的一大堆重要数据
在这种情况下,如果所有客户都在同一张表上,例如,不能仅从2天前的DynamoDB快照进行恢复,因为所有其他客户都将丢失过去2天的数据。在使用云计算之前,这在我看来并不是一个普遍的考虑因素,因为备份并不是那么直接地为那些不是第1层业务的客户提
我用AppSync在PutItem上的DynamoDB中存储数组时遇到了一些问题,这让我发疯:p
问题是,当我运行$util.dynamodb.toMapValuesJson时,我从GraphQl传递的数组消失了。我做错了什么
我真的被困在这个问题上了,如果能得到任何帮助,我将不胜感激
这是模板:
#set($failing_list = [ "foo", 123, { "bar" : "baz" } ])
{
"version" : "2017-02-28",
"op
我试图根据嵌套对象(无数组)筛选出一个查询。我目前正在使用AppSync和DynamoDB,并且正确执行了带有表达式值的表达式。但是过滤似乎不起作用
这是我试图获取的示例数据(按indicator.id筛选):
我的问题是:
{
"version": "2017-02-28",
"operation": "Query",
"query": {
"expression": "pk = :pk and begins_with(sk, :sk)",
"expression
我试图在Step函数中使用DynamoDB资源,但无法在ExpressionAttributeValues中使用步骤输入的值
以下是我在运行step函数之前的记录:
{
"groupId": "5c9e4c4e-088c-48bb-9e41-8d7b6227f117",
"invitationStatus": {
"johndoe@example.com": "unsent"
}
}
以下是步骤的输入:
{
"email": "johndoe@example.com",
我想使用DynamoDB.DocumentClient()执行类似的搜索
我已经试过了
KeyConditionExpression: "tip = :hkey and title = :ukey and vreme >= :zkey",
它回来了
Conditions can be of length 1 or 2 only
看来我两者都能用
上一页 1 2 ...
4 5 6 7 8 9 10 ...
下一页 最后一页 共 37 页