在IOS上使用AWS SDK而不使用身份池

时间:2018-09-03 07:47:08

标签: ios amazon-s3 aws-sdk

我想在IOS上使用AWS SDK在S3上传输文件。要在IOS上设置AWS sdk,需要AWS cognito服务为该用户提供一个身份池,但我只想使用AWS sdk通过访问密钥和秘密访问密钥将文件传输到s3。

因此可以将Amazon sdk用于IOS,而不必为此使用Amazon Cognito和其他服务。

此外,当我在.Net上使用AWS sdk时,仅访问密钥和密钥就不需要任何其他服务。

1 个答案:

答案 0 :(得分:1)

当然可以。

签出this section on how they configure credentials for the TransferUtility。在这里,他们使用Cognito作为凭据提供者。

let credentialProvider = AWSCognitoCredentialsProvider(regionType: YOUR-IDENTITY-POOL-REGION, identityPoolId: "YOUR-IDENTITY-POOL-ID")  

相反,您可以使用静态凭证提供程序,该提供程序使用IAM用户的访问密钥ID和机密:

let credentialsProvider = AWSStaticCredentialsProvider(accessKey: "YOUR-ACCESS-KEY-ID", secretKey: "YOUR-SECRET-KEY")

实例化S3服务时,将提供凭据提供程序接口作为AWSServiceConfiguration的参数。就像他们使用传输实用程序一样:

//Register a transfer utility object
AWSS3TransferUtility.register(
    with: AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider)!
)