Следуйте инструкциям, приведенным ниже:
- Войдите в свою учетную запись 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