Pynamodb - 如何设置区域?

时间:2014-03-18 05:54:42

标签: python-3.x amazon-dynamodb

Python 3

以下代码有效但保存到us-east-1区域。我怎么能把它保存到我们 - 西1?我已经挖掘了Pynamodb的来源,但找不到正确的方法。

from pynamodb.models import Model
from pynamodb.indexes import GlobalSecondaryIndex, AllProjection
from pynamodb.attributes import UnicodeAttribute, NumberAttribute

class DaysIndex(GlobalSecondaryIndex):
    """
    This class represents a global secondary index
    """
    read_capacity_units = 2
    write_capacity_units = 1
    projection = AllProjection()
    days_old = NumberAttribute(hash_key=True)


class HackerNewsLinks(Model):
    """
    A test model that uses a global secondary index
    """
    table_name = 'HackerNews'
    link = UnicodeAttribute(hash_key=True)
    title = UnicodeAttribute()
    days_index = DaysIndex()
    days_old = NumberAttribute(default=0)

if not HackerNewsLinks.exists():
    HackerNewsLinks.create_table(read_capacity_units=1, write_capacity_units=1, region='us-west-1')

hn_item = HackerNewsLinks('http://www.blah.com', title='forum_subject', days_old=10)
hn_item.save()

# Indexes can be queried easily using the index's hash key
for item in HackerNewsLinks.days_index.query(1):
    print("Item queried from index: {0}".format(item))

1 个答案:

答案 0 :(得分:2)

我刚刚在版本0.1.12中为PynamoDB模型API添加了区域支持,您是否介意升级并再次尝试?

以下是语法:

class HackerNewsLinks(Model):
    """
    A test model that uses a global secondary index
    """
    class Meta:
        region = 'us-west-1'
        table_name = 'HackerNews'
    link = UnicodeAttribute(hash_key=True)
    title = UnicodeAttribute()
    days_index = DaysIndex()
    days_old = NumberAttribute(default=0)