如何使用AWS Amplify将图像从只读AWS S3存储桶安全下载到iOS应用程序?

克里斯蒂·吉尼亚

我正在按照AWS的官方教程从S3存储桶下载图像。在IAM控制台中,我创建了一个新用户,该用户具有对存储桶的只读访问权限。在将证书添加到.aws文件夹中并使用放大CLI后,创建了新的Cognito用户池,Cognito身份池和S3存储桶。

我已经在Swift应用程序中安装了Amplify,AmplifyPlugins / AWSS3StoragePlugin,AmplifyPlugins / AWSCognitoAuthPlugin吊舱。在调用amplify push之后,已使用凭据更新了amplifyconfiguration.json和awsconfiguration.json。

在AppDelegate中,我设置了以下演示代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
    do {
        try Amplify.add(plugin: AWSCognitoAuthPlugin())
        try Amplify.add(plugin: AWSS3StoragePlugin())
        try Amplify.configure()
        print("Amplify configured with storage plugin")
    } catch {
        print("Failed to initialize Amplify with \(error)")
    }
    
    self.testUploadData()
    
    return true
}

func testUploadData() {
    let dataString = "Example file contents"
    let data = dataString.data(using: .utf8)!
    Amplify.Storage.uploadData(key: "ExampleKey", data: data,
        progressListener: { progress in
            print("Progress: \(progress)")
        }, resultListener: { (event) in
            switch event {
            case .success(let data):
                print("Completed: \(data)")
            case .failure(let storageError):
                print("Failed: \(storageError.errorDescription). \(storageError.recoverySuggestion)")
        }
    })
}

问题是我收到故障:

authError:

0:字符串“没有用户登录来获取身份ID”
1:字符串“调用Auth.signIn来登录用户或在AWS Cognito身份池中启用未经身份验证的访问”

使用AWS的最新放大SDK并以只读权限安全连接S3的最佳步骤是什么?理想情况下,我想使用我创建的现有存储桶而不是生成的现有存储桶。

寄存器
  1. 具有写访问权限的存储桶:如果您要按照示例中的说明将数据或文件上传到S3存储桶,则需要为某些角色/用户提供写访问权限。您无法通过只读存储桶上传任何内容。
  2. 未经身份验证:您还可以使用AWS Cognito启用对存储桶的未经身份验证的访问。有关更多信息,您可以查看此Stackoverflow问题
  3. withAuthenticator:您也可以使用withAuthenticator component进行身份验证,而不是通过未经身份验证的用户使用
  4. 预签名URL:通过预签名URL,您可以向没有权限直接在您的帐户中运行AWS操作的用户授予临时访问权限。使用您的凭据对预签名URL进行签名,任何用户都可以使用。欲获得更多信息,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用gsutil通过http链接从Google云存储下载到AWS实例或s3存储桶?

来自分类Dev

NodeJS如何从aws s3存储桶中将文件下载到磁盘?

来自分类Dev

在单个 AWS S3 存储桶中托管多个 Angular 7 应用程序

来自分类Dev

如何在AWS S3存储桶中使用Angular应用程序对AWS Elastic Beanstalk中的服务进行API调用

来自分类Dev

从移动应用程序下载AWS S3内容的安全方法

来自分类Dev

如何使用 aws-sdk for javascript 将图像从 iOS 应用程序(使用 Kony 构建)上传到 AWS S3?

来自分类Dev

使用链接到网页上的AWS S3存储桶中的图像是否安全?

来自分类Dev

加载图像直接使用AWS s3的imageview的,而不在android系统下载到本地存储

来自分类Dev

如何在不使用AWS CLI的情况下使用S3专用存储桶下载文件

来自分类Dev

Heroku 如何使用 AWS S3 凭证访问我的存储桶中的图像?

来自分类Dev

无法使用 AWS S3 iOS 开发工具包从存储桶的子文件夹下载

来自分类Dev

无需通过S3控制台即可将AWS S3存储桶内容下载到本地

来自分类Dev

如何从AWS S3存储桶下载加密的.gz文件

来自分类Dev

适用于iOS的AWS S3 SDK v2-将图像文件下载到UIImage

来自分类Dev

在Django应用程序中上传到非美国标准AWS S3存储桶时出错;美国标准铲斗完美运行

来自分类Dev

使用s3fs实用程序AWS挂载S3存储桶

来自分类Dev

如何使用AWS iOS SDK v2检查Amazon S3存储桶上密钥/文件的存在?

来自分类Dev

从移动应用程序将图像上传到AWS S3

来自分类Dev

如何使用Boto使用python监视AWS S3存储桶?

来自分类Dev

如何使用AWS Amplify从Android应用程序查询AWS Lambda?

来自分类Dev

如何使用aws unload命令将数据从AWS Redshift卸载到s3?

来自分类Dev

如何检查AWS S3存储桶是否存在?

来自分类Dev

如何编辑AWS S3存储桶对象?

来自分类Dev

如何确定公共AWS S3存储桶的区域?

来自分类Dev

如何合并AWS S3存储桶策略?

来自分类Dev

AWS S3 + Ruby SDK:如何列出存储桶

来自分类Dev

如何指定 AWS S3 存储桶策略

来自分类Dev

如何使用CLI在AWS S3中删除版本存储桶?

来自分类Dev

如何使用AWS C ++ SDK解析区域,存储桶和对象键的S3 URI?

Related 相关文章

  1. 1

    如何使用gsutil通过http链接从Google云存储下载到AWS实例或s3存储桶?

  2. 2

    NodeJS如何从aws s3存储桶中将文件下载到磁盘?

  3. 3

    在单个 AWS S3 存储桶中托管多个 Angular 7 应用程序

  4. 4

    如何在AWS S3存储桶中使用Angular应用程序对AWS Elastic Beanstalk中的服务进行API调用

  5. 5

    从移动应用程序下载AWS S3内容的安全方法

  6. 6

    如何使用 aws-sdk for javascript 将图像从 iOS 应用程序(使用 Kony 构建)上传到 AWS S3?

  7. 7

    使用链接到网页上的AWS S3存储桶中的图像是否安全?

  8. 8

    加载图像直接使用AWS s3的imageview的,而不在android系统下载到本地存储

  9. 9

    如何在不使用AWS CLI的情况下使用S3专用存储桶下载文件

  10. 10

    Heroku 如何使用 AWS S3 凭证访问我的存储桶中的图像?

  11. 11

    无法使用 AWS S3 iOS 开发工具包从存储桶的子文件夹下载

  12. 12

    无需通过S3控制台即可将AWS S3存储桶内容下载到本地

  13. 13

    如何从AWS S3存储桶下载加密的.gz文件

  14. 14

    适用于iOS的AWS S3 SDK v2-将图像文件下载到UIImage

  15. 15

    在Django应用程序中上传到非美国标准AWS S3存储桶时出错;美国标准铲斗完美运行

  16. 16

    使用s3fs实用程序AWS挂载S3存储桶

  17. 17

    如何使用AWS iOS SDK v2检查Amazon S3存储桶上密钥/文件的存在?

  18. 18

    从移动应用程序将图像上传到AWS S3

  19. 19

    如何使用Boto使用python监视AWS S3存储桶?

  20. 20

    如何使用AWS Amplify从Android应用程序查询AWS Lambda?

  21. 21

    如何使用aws unload命令将数据从AWS Redshift卸载到s3?

  22. 22

    如何检查AWS S3存储桶是否存在?

  23. 23

    如何编辑AWS S3存储桶对象?

  24. 24

    如何确定公共AWS S3存储桶的区域?

  25. 25

    如何合并AWS S3存储桶策略?

  26. 26

    AWS S3 + Ruby SDK:如何列出存储桶

  27. 27

    如何指定 AWS S3 存储桶策略

  28. 28

    如何使用CLI在AWS S3中删除版本存储桶?

  29. 29

    如何使用AWS C ++ SDK解析区域,存储桶和对象键的S3 URI?

热门标签

归档