【问题标题】:How to integrate aws S3 to my android app?如何将 aws S3 集成到我的 android 应用程序中?
【发布时间】:2020-01-19 04:15:59
【问题描述】:

我正在尝试找出将 AWS S3 集成到我的 android 应用程序中的最佳实践。

作为一项准备工作,我有一个 s3 存储桶,我可以使用 python/java SDK 上传\下载\删除它,现在我想在我的 android 应用程序中实现它。 我在网上发现了不同的方法,无法弄清楚最近\正确的方法是什么。 我的研究带来了以下结果:

  1. 移动中心 - https://grokonez.com/android/uploaddownload-files-images-amazon-s3-android 或在亚马逊官方 - https://docs.aws.amazon.com/aws-mobile/latest/developerguide/mobile-hub-add-aws-mobile-user-data-storage.html

  2. 用户池\cognito -https://101apps.co.za/index.php/item/195-android-and-amazon-s3-secure-file-storage-in-the-cloud

  3. github 项目 - https://github.com/nimran/Amazon-S3-Integration-in-Android - 当我克隆并尝试激活它时,大多数 aws 调用都已弃用。

  4. 另一位亚马逊官方,这次使用 Android SDK - https://aws-amplify.github.io/docs/android/storage

我正在寻找最新的指南\repo,它解释了将 S3 集成到 android 应用程序中的正确方法。 谢谢

【问题讨论】:

    标签: java android amazon-s3


    【解决方案1】:

    我建议在此处使用Cognito Identity Pools 来生成临时 AWS 凭证(通过 AWS STS 获得)。这些凭证可进一步用于调用相关的 AWS S3 API 调用,从而满足您的应用程序开发要求。

    Cognito 身份池同时支持未经身份验证的访问和经过身份验证的访问,因此对于相关角色,您需要为这两种情况选择适当的 IAM JSON,以确保您的软件保持稳健和安全。

    由于您是在 Android(使用 Java)上开发应用程序,我强烈推荐这个官方 AWS documentation 作为您的起点。

    【讨论】:

      【解决方案2】:

      @helpper 最好的方法是遵循官方文档,其中包含很好的示例代码开始,始终更新且易于遵循,而不是任何其他网站。

      目前您可以关注Android Sdk docsAmplify framework,但放大框架目前处于预览阶段,将在几天内准备就绪。

      【讨论】:

        【解决方案3】:

        查看示例应用程序:aws labs。 构建应用程序并相应地对其进行自定义。只需更改“aws 配置文件”中的设置即可。

        先决条件:

        • Android 工作室
        • S3 存储桶
        • aws cognito(身份池)
        • aws IAM 角色(身份池角色,有权访问 S3 存储桶)

        希望这会有所帮助!

        【讨论】:

          猜你喜欢
          • 2015-07-23
          • 2012-09-07
          • 1970-01-01
          • 2012-02-01
          • 2012-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多