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))
答案 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)