put_item 在 DDB Global Table 上传到错误的区域

put_item in DDB Global Table uploads to wrong region

我在 eu-west-3 区域创建了一个 Lambda 函数,用于将一些数据从一个 table 转移到另一个。

我使用 boto3 并且我正在尝试将项目从 eu-west-3 区域中的一个 DDB table 放到另一个全局 Table 中eu-west-3地区。

但是,我可以看到 eu-west-3 中的全局 Table 大小为 - 0 字节,而 us-west-2 中的全局 Table 大小为 9kb。这是否意味着项目当前在 us-west-2 而不是 eu-west-3?

我也明白那些应该在所有地区复制,但我仍然想写到正确的地区。

全球Table在3个地区有副本['eu-west-3', 'us-west-2', 'ap-southeast-1']

是否可以更改它并实际将项目放入 eu-west-3?

existing_region = 'eu-west-3'
global_table = boto3.resource('dynamodb',
    region_name=existing_region
).Table('GlobalTableName')

print("Updating table with data...")

with global_table.batch_writer() as batch:
    for item in table_items:
        batch.put_item(Item=item)

您只向我们展示了写入 table 的部分代码,但我怀疑您的问题是另一个问题:

However, I can see that the Global Table in eu-west-3 has size - 0 bytes and the Global Table in us-west-2 has the size of 9kb.

您可以看到的 DynamoDB table 的大小未在 real-time 中计算,大约每六小时更新一次。

检查 table 中的项目,它们很可能在应有的位置,否则我们需要查看更多代码。