如何将AWS S3集成到我的Android应用程序中?

时间:2019-09-18 08:55:46

标签: java android amazon-s3

我正在尝试找出将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. 用户池\认知-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应用中的正确方法。

3 个答案:

答案 0 :(得分:1)

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

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

由于您是在Android(使用Java)上开发应用程序,因此我强烈建议您将此官方AWS documentation作为起点。

答案 1 :(得分:1)

@helpper最好的方法是遵循官方文档,该文档包含不错的示例代码,总是经过更新,并且易于遵循,而不是其他任何网站。

目前,您可以按照Android Sdk docsAmplify framework进行操作,但放大框架目前处于“预览”阶段,几天之内即可准备就绪。

答案 2 :(得分:-1)

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

先决条件:

  • Android Studio
  • S3存储桶
  • aws cognito(身份池)
  • 具有IAM角色(身份池角色,可以访问S3存储桶)

希望这会有所帮助!