在AWS控制台中,我可以在给定区域中创建一个表,例如Northern California。当我尝试从客户端访问该区域时(我正在使用为clojure编写的法拉第库,但它可能无关紧要),它无法找到资源。当我从客户端创建桌子时,我在加利福尼亚州北部看不到它:所以我环顾四周,发现它在北弗吉尼亚州。我所有的读写都很好,他们恰好去了弗吉尼亚州北部。
现在,我并不关心表存储在哪个区域,但这是否意味着我总是必须从客户端创建表以确保写入到正确的位置?有没有办法设置默认值,以便我的数据存储区域总是在同一个地方,或者数据库总是知道根据我的凭据查看的位置?
答案 0 :(得分:0)
Dynamodb在许多地区都可用,每个地区都有自己的终点。我认为你可以配置你的clojure dynamodb客户端使用基于该区域的适当端点。在您的情况下,我猜北弗吉尼亚州是您的客户使用的默认端点/区域。
例如在我的java代码中我正在做这样的事情来初始化我的客户端:
dynamo = new AmazonDynamoDBClient(credentials);
Region usWest2 = Region.getRegion(Regions.US_WEST_2);
dynamo.setRegion(usWest2);
您可以在clojure代码中搜索区域或端点并进行配置。