我的目标:
使用最简单的代码将照片从 iOS 上传到常见的 AWS S3 存储桶
我尝试过的:
- 阅读aws-sdk-ios repo
- 阅读S3 Upload Files page
- 阅读Cognito FAQ page
- 阅读 various blogs和 SO 问题
- 使用客户端应用创建 Cognito 池
最佳实践假设:
我假设 Cognito 是我完成所有阅读后设置图像上传的默认方式。但是,这样做有两个问题:
- 对于我只需要传递图像、存储桶、 key 和 secret 的事情来说,这似乎过于复杂。
- 我之前已经通过服务器使用 key 和 secret 完成了此操作,所以我看不出有理由使用 Cognito 或为 Cognito 付费。
我的问题:
- 有没有办法在不使用 Cognito 的情况下从 iOS 上传到 AWS S3?
- 如果我的上述任何假设或问题都不是实现我目标的最佳方法,那么最简单的方法是什么?
最佳答案
Cognito Identity 是一项免费服务,因此您实际上不必为此付费。此外,您真的不应该在您的应用程序中使用硬编码凭据,因为它可以很容易地反编译和检索,而服务器端代码则不是这种情况。
对于 iOS SDK,您可以使用 AWSStaticCredentialsProvider
作为向任何服务客户端提供静态凭证的方式。
AWSStaticCredentialsProvider *credentialsProvider = [AWSStaticCredentialsProvider credentialsWithAccessKey:@"YourAccessKey" secretKey:@"YourSecretKey"];
同样,您真的不应该在生产应用中这样做。
关于ios - 如何在没有 Cognito 的情况下从 iOS 上传到 AWS S3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501238/