我有一个dynamodb表来存储电子邮件属性信息。我在电子邮件上有一个哈希键,时间戳(数字)上的范围键。使用电子邮件作为哈希密钥的最初想法是按电子邮件查询所有电子邮件。但我尝试做的一件事是检索所有电子邮件ID(在哈希键中)。我正在使用boto,但我不确定如何检索不同的电子邮件ID。
我目前提取10,000条电子邮件记录的代码是
conn=boto.dynamodb2.connect_to_region('us-west-2')
email_attributes = Table('email_attributes', connection=conn)
s = email_attributes.scan(limit=10000,attributes=['email'])
但是要检索不同的记录,我将不得不进行全表扫描,然后在代码中选择不同的记录。我的另一个想法是维护另一个表,它只存储这些电子邮件并进行条件写入以查看是否存在电子邮件ID,如果不存在则写入。但我试着想一想,如果这会更昂贵,那将是一个有条件的写作。
Q1.) Is there a way to retrieve distinct records using a DynamoDB scan?
Q2.) Is there a good way to calculate the cost per query?