Javascript 通过不同区域的 cognito 访问 dynamodb
Javascript access to dynamodb via cognito with different regions
我的认知区域是东京 (ap-northeast-1),而 DynamoDB 设置在悉尼 (ap-southeast-2)。我遇到的问题是,如果我配置
AWS.config.region = 'ap-northeast-1';
然后我可以访问凭据,但 AWS 假设我的数据库位于同一区域并且我得到:
POST https://dynamodb.ap-northeast-1.amazonaws.com/ 400 (Bad Request)
如果我配置
AWS.config.region = "ap-southeast-2";
然后我得到:
OPTIONS https://cognito-identity.ap-southeast-2.amazonaws.com/ net::ERR_NAME_NOT_RESOLVED
估计是因为找不到身份。
现在 Cognito 仅在 3 个区域可用,none 其中对应于我拥有的任何资源。
那么如何同时使用两者呢?
您可以为 Cognito 的区域设置 SDK 的全局配置,并使用 Service specific configuration 为其他区域实例化服务客户端。
//Set global region
AWS.config.region = 'ap-northeast-1';
//Get identity and credentials from Cognito
//Get dynamo db region specific client
var dynamoDB = new AWS.DynamoDB({region: "ap-southeast-2"});
我的认知区域是东京 (ap-northeast-1),而 DynamoDB 设置在悉尼 (ap-southeast-2)。我遇到的问题是,如果我配置
AWS.config.region = 'ap-northeast-1';
然后我可以访问凭据,但 AWS 假设我的数据库位于同一区域并且我得到:
POST https://dynamodb.ap-northeast-1.amazonaws.com/ 400 (Bad Request)
如果我配置
AWS.config.region = "ap-southeast-2";
然后我得到:
OPTIONS https://cognito-identity.ap-southeast-2.amazonaws.com/ net::ERR_NAME_NOT_RESOLVED
估计是因为找不到身份。
现在 Cognito 仅在 3 个区域可用,none 其中对应于我拥有的任何资源。
那么如何同时使用两者呢?
您可以为 Cognito 的区域设置 SDK 的全局配置,并使用 Service specific configuration 为其他区域实例化服务客户端。
//Set global region
AWS.config.region = 'ap-northeast-1';
//Get identity and credentials from Cognito
//Get dynamo db region specific client
var dynamoDB = new AWS.DynamoDB({region: "ap-southeast-2"});