ios - 如何在没有 Cognito 的情况下从 iOS 上传到 AWS S3?

标签 ios amazon-web-services amazon-s3

我的目标:

使用最简单的代码将照片从 iOS 上传到常见的 AWS S3 存储桶


我尝试过的:


最佳实践假设:

我假设 Cognito 是我完成所有阅读后设置图像上传的默认方式。但是,这样做有两个问题:

  1. 对于我只需要传递图像、存储桶、 key 和 secret 的事情来说,这似乎过于复杂。
  2. 我之前已经通过服务器使用 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/

相关文章:

php - 云端签名的 url 有问题(找不到指定参数的帐户)

ios - 如何从第一个索引过滤字符串数组而不是包含字符?

ios - 正则表达式负向前瞻和后向查找未嵌入包装器中的字符

ios - 解包后,CoreDataStack 中的 ManagedObjectContext 返回 nil

尝试使用模板创建 AWS 堆栈时出现 Python 错误

amazon-web-services - AWS ELB 向 EC2 发送加密响应

ios - RestKit 警告 - 警告 : Failed mapping nested object: (null)

amazon-ec2 - 从私有(private) EBS AMI 启动实例后的 "Server Refused our key"

amazon-web-services - AWS AccessDeniedException elastictranscoder :CreateJob

javascript - 对 API 网关的 XMLHttpRequest 不起作用