Сохранение данных в приложении Expo и отправка их через AWS Amplify - PullRequest
0 голосов
/ 02 июля 2019

Я пишу приложение, используя Expo. Я создам формы, которые будут принимать различные строки в качестве данных и делать фотографии, сохраняя их в приложении, а затем отправлять их с помощью AWS Amplify.

На устройстве будет храниться несколько форм, при этом загруженные помечаются как завершенные.

У меня есть доступ к AsyncStorage из Expo, и я думал о сохранении форм на устройстве, а затем об использовании AWS Amplify для отправки данных.

Мне интересно, является ли это хорошей практикой использования AyncStorage, поскольку в документации указано, что его следует использовать только как простое решение для хранения данных, поскольку оно глобальное, хотя я действительно считаю, что мои потребности просты.

Есть ли другие варианты, которые вы могли бы порекомендовать, связанные с отправкой данных в веб-службы amazon?

1 Ответ

1 голос
/ 02 июля 2019

Не знаю, правильно ли вы понимаете AWS Amplify.Куда вы хотите отправить данные?

Amplify состоит из трех основных частей: инструментов разработчика, CLI и фреймворка.

Инструменты разработчика в настоящее время просто предоставляют (удивительную) консоль Amplify, чтобы упростить вашухостинг.CLI помогает вам генерировать ресурсы.А часть фреймворка дает вам код для использования компонентов пользовательского интерфейса и упрощения взаимодействия с вашим бэкендом.

Если вы хотите отправить его на пользовательскую конечную точку GraphQL, это довольно хорошо.

Если выиспользование DynamoDB с AppSync и S3 AWS Amplify отлично подходит для этой работы.

Если у вас еще нет серверной части, Amplify также отлично подходит для вас.

Вот как вы можете сгенерироватьбэкэнд для сохранения данных формы в DynamoDB и связи с этой базой данных NoSQL с помощью Amplify с AppSync.

Initialize Amplify:

amplify init

Добавить аутентификацию:

amplify add auth

И создайте серверную часть AppSync вместе с DynamoDB:

amplify add api

Когда вас попросят отредактировать схему, введите y для yes и , отредактируйте ее в соответствии с вашими потребностями.

Затем, чтобы отправить вам данные формы, вы можете просто сделать

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