动态切换Dynamodb区域



是否有任何方法可以使用javascriptaws-sdkdynamoosenpm包在DynamoDB区域之间动态切换?

假设2个表存在于孟买(ap-south-1(和法兰克福(eu-central-1(两个不同的地区。最初,当应用程序启动时,它使用ap-south-1,然后在一些业务逻辑之后,它需要将DB实例路由到eu-central-1。

那么,我如何使用javascript aws-sdk或dynmoose包来实现它呢。

现在,我正在使用下面的片段。但不起作用

import dynamoose from 'dynamoose';
dynamoose.AWS.config.logger = console;
dynamoose.AWS.config.update({ region: 'ap-south-1'}); // working here
// some business login
// ...
// ...
// switch DynamoDB region
dynamoose.AWS.config.update({ region: 'eu-central-1'});  // but it's not working. Not even throwing any error.

有人能帮忙吗?有没有任何方法可以记录运行特定查询的AWS Dynamodb区域?就像启用AWS记录器一样,它只输出

[AWS dynamodb 200 0.042s 0 retries] getItem({ TableName: 'User', Key: { userId: { S: '99999' } } })

在这种情况下,我认为每次都设置一个新的DynamoDB实例会有更好的运气。例如,您的示例将更改为以下内容。

import {DynamoDB} from "aws-sdk";
dynamoose.setDDB(new DynamoDB({ region: 'ap-south-1'}));
// some business login
// ...
// ...
// switch DynamoDB region
dynamoose.setDDB(new DynamoDB({ region: 'eu-central-1'}));

这将改变Dynamose用于与DynamoDB通信的底层实例,而不是全局AWS SDK设置。

注意,上面的代码在Dynamose的v2中发生了更改。有关详细信息,请参阅中断更改。

相关内容

  • 没有找到相关文章

最新更新