【问题标题】:Using AWS S3 API with react native将 AWS S3 API 与本机反应一起使用
【发布时间】:2017-04-03 17:15:50
【问题描述】:

我正在学习 React Native,我之前玩过 AWS S3,我在我的存储桶中设置了一些图像,我想从我的代码中执行 GET,并且图像设置为私有。

我想使用 React Native 方式调用 S3 API,就像我在 Angular2 项目中所做的那样。我在网上查了一下,才发现有第三方插件用于上传图片到S3。

我如何能够在 react nativevar s3 = new AWS.S3(); 中创建一个新的 S3 对象并调用像 s3.listBuckets(function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); 这样的函数,或者只是在我的存储桶上获取一个私有图像。

非常感谢!

【问题讨论】:

  • 我会开始研究这个,因为我也很好奇。我首先要问,你知道如何制作任何类型的服务器端逻辑/请求吗?仅仅因为它是 React-Native,并不意味着您没有可以与您的应用程序通信的服务器。您的服务器似乎会执行此请求。但是,如果你想全部基于客户端,并且全部使用 React Native,请告诉我。
  • @JimFactor 谢谢,我刚刚开始构建这个应用程序,我想在用户打开应用程序时加载图像,它直接从我的代码初始化函数从 S3 读取图像。我确实知道如何用其他语言发出服务器端请求。
  • 你有没有成功找到这个问题的解决方案?

标签: amazon-web-services reactjs amazon-s3 react-native


【解决方案1】:

此功能现已在 AWS 官方存储库的新 AWS Amplify 库中提供:https://github.com/aws/aws-amplify

您可以使用存储模块:https://github.com/aws/aws-amplify/blob/master/media/storage_guide.md

import { Storage } from 'aws-amplify'
Storage.configure( { level: 'private' } );
Storage.get('myfile.gif');

这是一个私有图像的示例,但您可以使用该库执行更多操作。它还将使用来自与 Amazon Cognito 集成的 Auth 模块中处于 Authenticated 或 UnAuthenticated 状态的用户的凭证。

【讨论】:

  • Storage 能否列出存储桶中的所有项目,而不是像您的代码中那样指向特定的单个项目?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-19
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 2017-01-02
  • 2018-04-13
  • 1970-01-01
相关资源
最近更新 更多