小编Mad*_*eep的帖子

使用boto3完全扫描dynamoDb

我的桌子大约是220mb,里面有25万条记录.我正在尝试将所有这些数据都放到python中.我意识到这需要一个分块的批处理过程并循环,但我不知道如何设置批次从前一个停止的地方开始.

有没有办法过滤我的扫描?从我读到的,加载后发生过滤,加载停止在1mb,所以我实际上无法扫描新对象.

任何援助将不胜感激.

import boto3
dynamodb = boto3.resource('dynamodb',
    aws_session_token = aws_session_token,
    aws_access_key_id = aws_access_key_id,
    aws_secret_access_key = aws_secret_access_key,
    region_name = region
    )

table = dynamodb.Table('widgetsTableName')

data = table.scan()
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-dynamodb boto3

48
推荐指数
8
解决办法
4万
查看次数

DynamoDB的UUID?

在向表中添加新项时,是否可以让DynamoDB自动生成唯一ID?

我注意到Java API提到@DynamoDBAutoGeneratedKey所以我假设有一种方法可以使用PHP.

如果是这样,应用程序代码是否会生成这些ID,还是在DynamoDB端完成?

uuid amazon-web-services amazon-dynamodb

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

使用DynamoMapper和类Annotation创建具有全局二级索引的表

我目前正在使用Java dynamoMapper来创建和查询表.尝试使用全局二级索引创建表时,出现以下错误

No provisioned throughput specified for the global secondary index 

我表示该表的java类具有全局二级索引的此属性.

@DynamoDBIndexHashKey(globalSecondaryIndexName="sender")
    public String getSender() {
    return sender;
}
Run Code Online (Sandbox Code Playgroud)

创建表的类看起来像这样

public boolean createTable() {
try {
DynamoDBMapper mapper = new DynamoDBMapper(client);
CreateTableRequest tableRequest =     mapper.generateCreateTableRequest(entityClass); // 1
tableRequest.setProvisionedThroughput(new ProvisionedThroughput(1000L, 1500L)); // 2
client.createTable(tableRequest); // 3

    } catch (Error e) {
        e.printStackTrace();
        return false;

    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我在亚马逊网站上搜索了其他注释和配置,但没有为DynamoMapper提供任何信息.无论如何使用ORM执行此操作还是必须使用较低级别的API手动创建?

java amazon amazon-web-services amazon-dynamodb

11
推荐指数
1
解决办法
3575
查看次数

DynamoDB Streams到S3

我正在使用数据管道(DP)进行DynamoDB的每日备份,但是,我想对DP运行(DP运行之间的更新)遗漏的数据进行增量备份.为了实现这一点,我想使用DynamoDB Streams + Lambda + S3为S3带来实时的DynamoDB更新.我理解DynamoDB流如何工作,但是,我正在努力创建一个写入S3的Lambda函数,并说每小时滚动一个文件.

有人试过吗?

amazon-s3 amazon-web-services aws-lambda amazon-dynamodb-streams

7
推荐指数
1
解决办法
4477
查看次数

UpdateItem 上的 DynamoDB if_not_exists

我正在尝试一个非常简单的场景。我需要每行维护一个计数器。我正在使用 UpdateItem 进行更新插入而不是插入。

  1. 如果行不存在,则只需设置计数器列的值
  2. 如果行存在,它应该更新计数器。

2 工作正常,但对于 1 它抱怨属性不存在。我尝试了 if_not_exists 子句,但没有任何帮助。有人可以指出我正确的方向吗?还分享如何使用 UpdateItem 的 if_not_exists 子句

amazon-web-services amazon-dynamodb

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

DynamoDB Perl抽象

我最近阅读了亚马逊的新数据库产品DynamoDB,并且必须承认它听起来非常引人注目.然而,在我跑掉并开始重新编程我的模型层以利用块上的新孩子之前,我需要一些更具体的细节.有没有人知道抽象DynamoDB的Perl包还是那么快?我称之为"ORM"包,但DynamoDB世界中没有任何关系.有没有alpha,beta?如何通过Perl访问亚马逊的dynamodb?

谢谢

database perl amazon-web-services amazon-dynamodb

5
推荐指数
1
解决办法
1819
查看次数

玩!Framework + DynamoDB

作为Play Framework的新手,我想知道它是否比我想象的更容易,但是可以将DynamoDB与Play Framework一起使用吗?

amazon-web-services playframework amazon-dynamodb

5
推荐指数
1
解决办法
1503
查看次数

Gremlin 远程命令失败并出现超时错误:主机未及时响应

我通过 gremlin groovy shell 连接到远程 gremlin 服务器。连接成功。但对于我尝试执行的任何远程命令,它都会出现超时错误。即使是为了指挥:> 1+1

gremlin> :remote connect tinkerpop.server conf/senthil.yaml
==>Connected - 10.40.40.65/10.40.40.65:50080

gremlin> :> 1+1
Host did not respond in a timely fashion - check the server status and submit again.
Display stack trace? [yN]
org.apache.tinkerpop.gremlin.groovy.plugin.RemoteException: Host did not respond in a timely fashion - check the server status and submit again.
at org.apache.tinkerpop.gremlin.console.groovy.plugin.DriverRemoteAcceptor.submit(DriverRemoteAcceptor.java:120)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:215)
at org.apache.tinkerpop.gremlin.console.commands.SubmitCommand.execute(SubmitCommand.groovy:41)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:215)
at org.codehaus.groovy.tools.shell.Shell.execute(Shell.groovy:101)
at org.codehaus.groovy.tools.shell.Groovysh.super$2$execute(Groovysh.groovy)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
Run Code Online (Sandbox Code Playgroud)

这是我的conf文件:remote.yaml

hosts: [10.40.40.65]
port: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-dynamodb gremlin titan

5
推荐指数
1
解决办法
3053
查看次数

Dynamodb查询操作

是否可以在DynamoDB中使用" OR "," AND "查询操作?

我需要知道是否DynamoDB有类似"where fname = xxxx OR lname = xxxx"来自SQL查询?在Rails中

谢谢.

amazon-web-services amazon-dynamodb

4
推荐指数
1
解决办法
3420
查看次数

查询DynamoDB

我有一个带有字母数字字符串作为哈希键的DynamoDB表(例如"d4ed6962-3ec2-4312-a480-96ecbb48c9da").我需要根据表中的另一个字段查询表,因此我需要我的查询来选择所有键,例如我的字段x在dat x和date y之间.

我知道我需要哈希键上的条件和范围键上的另一个条件,但是我很难编写一个不将我的查询绑定到特定ID的哈希键条件.

我以为我可以根据ID为NOT_NULL来解决冗余条件,但是当我使用它时,我得到错误:

查询密钥条件不受支持

以下是我正在使用的条件,任何想法如何实现这一目标?

 Condition hashKeyCondition = new Condition()
 .withComparisonOperator(ComparisonOperator.NOT_NULL.toString());

Condition rangeCondition = new Condition()
.withComparisonOperator(ComparisonOperator.BETWEEN.toString())
.withAttributeValueList(new AttributeValue().withS(dateFormatter.print(lastScanTime())), 
new AttributeValue().withS(dateFormatter.print(currentScanTime)));

Map<String, Condition> keyConditions = new HashMap<String, Condition>();
keyConditions.put("userId", hashKeyCondition);
keyConditions.put("lastAccesTime", rangeCondition);
Run Code Online (Sandbox Code Playgroud)

在此先感谢大家的帮助.

java amazon-web-services conditional-statements amazon-dynamodb

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

NodeJS和AWS SQS

伙计们,我想在Java API和NodeJS API之间建立一个消息队列.在阅读了几个使用示例之后aws-sdk,我不确定如何使服务观察队列.

例如,本文使用SQS与节点:接收消息示例代码告诉我使用sqs.receiveMessage()接收和sqs.deleteMessage()删除消息.

我不清楚的是,如何将其包装到一个连续运行的服务中,该服务不断地将消息从sqs队列中取出,将它们传递给模型,将它们存储在mongo中等等.

希望我的问题不完全模糊.我对Node的经验主要在于Express.js.

答案就像使用sqs-poller之类的东西一样简单吗?我如何在已经运行的NodeJS Express应用程序中实现相同的功能?很可能我应该调查SNS在消息传输方面没有任何延迟.

谢谢!

amazon-sqs amazon-web-services node.js express

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

DynamoDB映射枚举列表

使用Custom Marshall将枚举类映射到DynamoDB对象非常简单.但是如何映射枚举列表呢?

恩类

public enum Transport {
SMS,EMAIL,ALL;
}
Run Code Online (Sandbox Code Playgroud)

DynamoDB映射器

public class Campaign{
   private List<Transport> transport;

   @DynamoDBAttribute(attributeName = "transport")
   public List<Transport> getTransport() {
       return transport;
   }

   public void setTransport(List<Transport> transport) {
      this.transport = transport;
   }
}
Run Code Online (Sandbox Code Playgroud)

java sdk enums amazon-dynamodb

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

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