将数据保存在Expo App中并通过AWS Amplify发送

时间:2019-07-02 10:08:16

标签: react-native expo aws-amplify

我正在使用Expo编写应用程序。我将创建将各种字符串作为数据的表单,并拍照以将其保存到应用程序,然后使用AWS Amplify发送。

设备上将存储多种表单,上传的表单标记为“完成”。

我可以从Expo访问AsyncStorage,当时我正在考虑将表单存储在设备上,然后使用AWS Amplify发送数据。

我想知道使用AyncStorage是否是一个好习惯,因为文档指出它应该是一个简单的存储解决方案,因为它是全局的,尽管我确实认为我的需求很简单。

您是否还可以建议其他选项,涉及将数据发送到亚马逊网络服务?

1 个答案:

答案 0 :(得分:1)

我不知道您是否正确理解AWS Amplify。您要将数据发送到哪里?

Amplify具有三个主要部分:开发人员工具,CLI和框架。

当前,开发人员工具仅提供(出色的)Amplify控制台来简化您的托管。 CLI可帮助您生成资源。框架部分为您提供了使用UI组件并简化与后端通信的代码。

如果要将其发送到自定义GraphQL端点,那就很好了。

如果您将DynamoDB与AppSync和S3一起使用,AWS Amplify可以胜任这项工作。

如果您还没有后端,那么Amplify也很适合您。

在这里,您可以生成后端以将表单数据保存在DynamoDB中,并使用Amplify with AppSync与该NoSQL数据库进行通信。

初始化放大:

amplify init

添加身份验证:

amplify add auth

并与DynamoDB一起创建AppSync后端:

amplify add api

在要求编辑架构时,为yedit it to your needs.输入yes

然后向您发送您可以轻松完成的表单数据

async function sendFormData(formData) {
  const res = await API.graphql(graphqlOperation(createFormData, { input: formData }));
  console.log(res);
}