У меня бессерверный проект: AWS + Angular на интерфейсе. В настоящее время я получаю данные при инициализации страницы и обновляю sh данные при нажатии кнопки «обновить». Однако я хочу постоянно отслеживать изменения в таблице. В Firebase есть метод onSnapShot()
, который отправляет новые данные при обновлении коллекции.
Я хочу сделать что-то подобное с AWS. Однако в официальной документации я не вижу, как это правильно сделать.
Итак, вот 2 вопроса:
- Как я могу подключиться к WebSocket с помощью aws -sdk? (В настоящее время я могу подключиться только с терминала с помощью вызова
wscat -c myurl
. Или мне просто отправить http.Post с URL-адресом веб-сокета? - можно ли передать вызов в URL-адресе обратного вызова? - Я хочу получить данные из DynamoDB при инициализации страницы, а затем вызывать ее снова и снова (с URL-адресом обратного вызова)
Моя лямбда-функция выглядит так:
exports.handler = async (event, context) => {
let params = {
TableName: "documents"
}
let respond = await db.scan(params).promise();
return respond;
};
На интерфейсе I иметь:
ngOnInit(): void {
AWS.config.credentials = new AWS.Credentials({
accessKeyId: '//mykey', secretAccessKey: '//mysecretkey'
})
AWS.config.update({
region:'//myregion'
})
this.updateTable() // triggers post request to APi Gateway => lambda and receives a response with data.
}