Следуйте инструкциям, приведенным ниже:

  • Войдите в свою учетную запись AWS или откройте консоль через класс, в котором есть кредиты, или воспользуйтесь бесплатными кредитами от AWS Academy.
  • Перейдите в DyanamoDB и создайте таблицу, в которой вы хотите хранить данные.
  • При создании таблицы добавьте любой атрибут в качестве ключа раздела (первичного ключа).

  • Перейдите в Управление IAM ›Роли и добавьте новую роль, в которой в качестве варианта использования используется Lambda.
  • Это позволит функциям Lambda вызывать сервисы AWS от вашего имени.
  • Выберите AmazonAPIGatewayAdministrator и AmaozonDynamoDBFullAccess.
  • Нажмите «Далее» и просмотрите роль.

  • После этого перейдите в Lamda ›Функции и создайте новую функцию.

  • Здесь я написал свою функцию на Python, поэтому я выбрал Python 3.8.
  • Добавьте роль в функцию Lambda и создайте функцию.

  • После этого перейдите в API Gateway и создайте REST API, в котором мы можем получить контроль над запросами и ответами вместе с возможностями управления API.

  • После того, как API будет создан, он приведет нас к окну ниже, в котором мы введем необходимые данные.

  • Я хотел хранить данные в базе данных, поэтому использовал данные put.
  • Теперь, когда он создан, перейдите в Действия ›Создать метод и добавьте туда PUT.

  • Когда метод будет добавлен, откроется окно ниже.

  • Здесь наша лямбда-функция называется «обнаружение депрессии».
  • Затем перейдите в Действия ›Развернуть API и добавьте этап развертывания.

  • Теперь нажмите «Этапы» и перейдите к «v1», скопируйте в раздел «PUT» URL-адрес вызова.
  • Напишите приведенный ниже код в коде лямбда-функции:
import json
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('database-table-name') 
def lambda_handler(event, context):
    table.put_item(Item=event)
#any message you want to print in the console to know whether request is forwarded or not
    message = 'Hello {}, Your request has been forwarded  successfully!'.format(event['name'])
    return { 
        'message' : message
    }
  • Теперь добавьте несколько вещей в JavaScript:
function submit_data(){
// console.log("Hello");
//the terms that you want to add in database should be shown in data
const data = {
name: document.getElementById('name').value, //id of element is name
email: document.getElementById('email').value,
age: document.getElementById('age').value
}
fetch('Invoke URL',  /Invoked URL is added here
{
method: 'POST',
headers: {'Content-Type': 'application/json',},
body: JSON.stringify(data),
})
.then((response) => response.json())
//Then with the data from the response in JSON...
.then((data) => {
console.log('Success:', data);
})
//Then with the error genereted...
.catch((error) => {
console.error('Error:', error);
});
}

Вот как это делается. Спасибо за прочтение.

Полезные ссылки

Пожалуйста, ознакомьтесь с этой ссылкой на GitHub, чтобы получить код HTML-формы и JavaScript:



Больше контента на plainenglish.io