如何为 AWSServiceManager 设置多个区域以使用 Lex、Rek、S3 Swift

How to set multiple region for AWSServiceManager to use Lex,Rek,S3 Swift

我无法为 AWS Service Manager 设置多个区域。 (为什么是多个区域?因为 S3,rekognition->APSoutheast2,Lex -> USWest1。)

当我使用 Face Rekognition 时,其他 Lex 总是在 APSoutheast2 区域工作。检查下图。它似乎只能设置一次默认值。不同用途如何设置。

PS:信息 plist 配置也未提前 here.Thanks。

您可以按如下方式创建相应的服务客户端:

S3:

let serviceConfiguration = AWSServiceConfiguration(
            region: .APSoutheast2,
            credentialsProvider: AWSCognitoCredentialsProvider(regionType: .APSoutheast2, identityPoolId: "YourIdentityPoolId")
        )

        let transferUtilityConfiguration = AWSS3TransferUtilityConfiguration()
        transferUtilityConfiguration.isAccelerateModeEnabled = true

        AWSS3TransferUtility.register(
            with: serviceConfiguration!,
            transferUtilityConfiguration: transferUtilityConfiguration,
            forKey: "transfer")

识别:

let serviceConfiguration = AWSServiceConfiguration(
                region: .APSoutheast2,
                credentialsProvider: AWSCognitoCredentialsProvider(regionType: .APSoutheast2, identityPoolId: "YourIdentityPoolId")
            )

AWSRekognition.register(with: serviceConfiguration!, forKey: "my-rekognition-client")

莱克斯:

let serviceConfiguration = AWSServiceConfiguration(
                    region: .USWest1,
                    credentialsProvider: AWSCognitoCredentialsProvider(regionType: .USWest1, identityPoolId: "YourIdentityPoolId")
                )

    AWSLex.register(with: serviceConfiguration!, forKey: "my-lex-client")