AWS Switch Region从East1到West2

时间:2014-12-08 01:29:53

标签: ios amazon-web-services amazon-dynamodb

我们有一个使用Amazon Web Services的应用程序。我们设计了这样的图像和视频(S3)被发送到East1地区,而图像和视频'元数据(DynamoDB)被发送到West2区域。 但我们无法让它从使用east1切换到west2。

当我们初始化我们的AWS时,我们有:

self.provider = [AWSCognitoCredentialsProvider credentialsWithRegionType:AWSRegionUSEast1
                                                               accountId:AWS_ACCOUNT_ID
                                                          identityPoolId:COGNITO_POOL_ID
                                                           unauthRoleArn:COGNITO_ROLE_UNAUTH
                                                             authRoleArn:COGNITO_ROLE_AUTH];
self.east1Configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1
                                                         credentialsProvider:self.provider];
[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = self.east1Configuration;


self.west2Configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSWest2
                                                        credentialsProvider:self.provider];

现在,当我们想要发送视频和图像元数据时,我们还尝试将serviceConfiguration设置为west:

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = self.west2Configuration;

但它没有用。它不会转向west2。 我希望我有意义,谢谢你。

1 个答案:

答案 0 :(得分:1)

defaultServiceConfiguration只能设置一次(只有分配的第一个配置才有效)。要在配置之间切换,您需要在- initWithConfiguration:AWSS3而不是AWSDynamoDB+ defaultS3上致电+ defaultDynamoDB

请注意,使用- initWithConfiguration:时,您需要保留对服务客户端对象的强引用。对于+ defaultS3+ defaultDynamoDB,SDK会维护强引用(这些是单例方法)。就像您正在创建配置对象@property一样,您也可以创建服务客户端@property