使用AWS SDK v2(iOS)连接到S3

use*_*017 4 amazon-s3 amazon-web-services ios

我一直在环顾四周,并没有找到我在上传和下载iPhone应用程序中的图像时出现的问题的最新答案.

我正在使用AWS SDK v2,从我从示例S3传输代码中读取和看到的内容,我需要首先使用AWSCognitoCredentialsProvider开始.

AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider
                                                          credentialsWithRegionType:AWSRegionAPNortheast1
                                                          accountId:AWSAccountID
                                                          identityPoolId:CognitoPoolID
                                                          unauthRoleArn:CognitoRoleUnauth
                                                      authRoleArn:nil];
Run Code Online (Sandbox Code Playgroud)

但我唯一的信息是:访问密钥,密钥,存储桶名称和目标目录

相关链接我读到的是如何从S3下载文件到iPhone应用程序?

但是即使使用AWS SDK框架,代码也无法编译,并且项目中安装了相关的框架.

如何仅使用AWS SDK v2完成此操作?

谢谢.

Cap*_*ggz 14

您也可以使用Cognito废弃并使用访问密钥/密钥:

AWSStaticCredentialsProvider *credentialsProvider = [AWSStaticCredentialsProvider credentialsWithAccessKey:ACCESS_KEY_ID secretKey:SECRET_KEY];
AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSWest2
                                                                      credentialsProvider:credentialsProvider];

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;
Run Code Online (Sandbox Code Playgroud)

确保使用您的存储桶实际所在的区域.


Jib*_*eex 8

为了您的方便,我在Swift中留下了版本

let credentialsProvider = AWSStaticCredentialsProvider(accessKey:"YOUR_ACCESS_KEY", secretKey: "YOUR_SECRET_KEY")
let defaultServiceConfiguration = AWSServiceConfiguration(region: AWSRegionType.EUWest1, credentialsProvider: credentialsProvider)
defaultServiceConfiguration.maxRetryCount = 5
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = defaultServiceConfiguration
let defaultS3 = AWSS3.defaultS3()
Run Code Online (Sandbox Code Playgroud)

......