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

Epi*_*ist 5 amazon-s3 ios aws-sdk

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

那么是否可以使用适用于 IOS 的亚马逊 sdk,而不必使用亚马逊 cognito 和其他服务。

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

tgk*_*tgk 5

当然,你可以这样做。

查看本节,了解他们如何配置 TransferUtility 的凭据。在这里,他们使用 Cognito 作为凭证​​提供者。

let credentialProvider = AWSCognitoCredentialsProvider(regionType: YOUR-IDENTITY-POOL-REGION, identityPoolId: "YOUR-IDENTITY-POOL-ID")  
Run Code Online (Sandbox Code Playgroud)

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

let credentialsProvider = AWSStaticCredentialsProvider(accessKey: "YOUR-ACCESS-KEY-ID", secretKey: "YOUR-SECRET-KEY")
Run Code Online (Sandbox Code Playgroud)

当您实例化 S3 服务时,您将提供凭证提供程序接口作为AWSServiceConfiguration. 正如他们对转移实用程序所做的那样:

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