Вы хотите легко добавлять пользователей в DynamoDB после успешного подтверждения в Amazon Cognito? Не смотрите дальше! В этой записи блога мы покажем вам процесс использования триггера Lambda после подтверждения Cognito для автоматического добавления пользователей в DynamoDB. Мы предоставим четкие объяснения, примеры кода и простые шаги, которые помогут вам легко осуществить эту интеграцию.
Раздел 1. Настройка Amazon Cognito
Для начала убедитесь, что у вас настроен пул пользователей Amazon Cognito, который будет обрабатывать аутентификацию и регистрацию пользователей. Если вы еще его не создали, выполните следующие действия:
- Войдите в консоль управления AWS.
- Перейдите к сервису Amazon Cognito.
- Создайте новый пул пользователей, нажав «Создать пул пользователей».
- Настройте параметры пула пользователей в соответствии со своими требованиями.
- Сохраните изменения и запишите идентификатор пула пользователей, он понадобится нам позже.
Раздел 2. Создание лямбда-функции
Далее мы создадим лямбда-функцию, которая будет запускаться после успешного подтверждения пользователя. Эта функция будет отвечать за добавление данных пользователя в DynamoDB. Выполните следующие действия:
- Перейдите в консоль управления AWS и перейдите к сервису Lambda.
- Нажмите «Создать функцию».
- Выберите имя для своей функции и выберите среду выполнения по своему усмотрению (например, Node.js или Python).
- В разделе «Дизайнер» нажмите «Добавить триггеры» и выберите «Cognito».
- Настройте триггер, выбрав пул пользователей и указав тип триггера «Подтверждение публикации».
- Нажмите «Добавить», а затем «Создать функцию», чтобы создать лямбда-функцию.
- Напишите код внутри функции для взаимодействия с DynamoDB. Вот пример использования Node.js:
const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB();
exports.handler = async (event, context) => {
const { sub, email } = event.request.userAttributes;
const params = {
TableName: 'YourTableName',
Item: {
'UserId': { S: sub },
'Email': { S: email }
}
};
try {
await dynamodb.putItem(params).promise();
console.log('User added to DynamoDB successfully.');
} catch (error) {
console.error('Error adding user to DynamoDB:', error);
}
};
Не забудьте заменить 'YourTableName'на фактическое имя вашей таблицы DynamoDB.
Раздел 3. Настройка триггера Lambda
Теперь, когда наша функция Lambda готова, давайте настроим ее как триггер для пула пользователей Cognito:
- Вернитесь к настройкам пула пользователей в консоли Amazon Cognito.
- Нажмите «Триггеры» в левом навигационном меню.
- Прокрутите вниз до раздела «Опубликовать подтверждение» и выберите в раскрывающемся меню созданную вами лямбда-функцию.
- Сохраните изменения.
Раздел 4. Тестирование интеграции
Чтобы убедиться, что все настроено правильно, давайте проверим интеграцию:
- Зарегистрируйте нового пользователя в своем пуле пользователей Cognito.
- Подтвердите регистрацию пользователя, перейдя по ссылке для подтверждения, отправленной на его адрес электронной почты.
- Проверьте таблицу DynamoDB, чтобы убедиться, что данные пользователя были успешно добавлены.
Поздравляем! Вы успешно интегрировали Amazon Cognito с DynamoDB с помощью триггера Lambda после подтверждения. Следуя инструкциям, описанным в этом руководстве, вы сможете легко добавлять пользователей в DynamoDB после успешного подтверждения, обеспечивая беспрепятственное управление пользователями в ваших приложениях.
Реализуя эту интеграцию, вы можете гарантировать, что пользовательские данные будут эффективно храниться и будут легко доступны для нужд вашего приложения.