Size: a a a

2020 October 01

VM

Viktor Mazankin in AWS_RU
Hleb Albau
С cf все медленно деплоится)
Ну несколько минут, учитывая все хклсчеки это нормально
источник

AS

Andrey Shuster in AWS_RU
А почему нельзя в s3 хранить с версионированием?
источник

HA

Hleb Albau in AWS_RU
А зачем, если у лямбды из коробки есть версии
источник

AS

Andrey Shuster in AWS_RU
Значит я неправильно понял вопрос, извини
источник

AP

Alexander Patrushev in AWS_RU
Sander 🕶
Всем привет,
используя aws sqs, есть возможность подписаться на topic, например через aws lambda!

по хуку lambda запускается и что-то делает, но в случаи какой-то определенной ошибки, есть ли возможность чтоб lambda повторила попытку раза 10 - пока не получится и на 10 раз, если не вышло,
чтоб сообщение ушло в "dead-letter queues",
после чего я получил бы уведомление об ошибке + логи.
—-
как такое сделать? когда у тебя не одна программа, а много маленьких lambda функций, где каждая функция делает только свою операцию,
но чтоб была гарантия, что каждая функция закончит свою работу и будет пытаться ее выполнить, а не сразу отметать запрос,
так как может получится так что, данных в базе и других местах будет просто не хватать.
Step function для этого отлично подходит
источник

AP

Alexander Patrushev in AWS_RU
Sander 🕶
есть еще такой кейс,
где у меня после добавления в одну из таблиц новой записи - должен сработать какой-то хук, который запустит несколько lambda функций (все функции разные и работают над разными задачами).
—-
как это будет работать? знаю что есть какой-то хук который запуститься, после добавления в записи в базу, но как моя lambda получит информацию которая была добавлена в базу данных.
А какая база?
источник

S🕶

Sander 🕶 in AWS_RU
Alexander Patrushev
Step function для этого отлично подходит
база данных dynamodb
источник

S🕶

Sander 🕶 in AWS_RU
давай я лучше распишу какие кейсы меня интересуют и задачи, тогда будет понятней - что лучше использовать,
1) после сохранения информации в dynamodb, мне надо чтоб другие lambda функции запустились и получили только что добавленные данные в таблицу. (lambda могут быть совершенно разными и делать разную задачу) - это один кейс.
источник

S🕶

Sander 🕶 in AWS_RU
2) step function чем удобны? чтоб еще сильней программу разбить на более маленькие кусочки?
источник

S🕶

Sander 🕶 in AWS_RU
3) sqs - как мне использовать его правильно? получила lambda сообщение от sqs, но по какой-то причине случился exception,
хотелось бы чтоб lambda попробовала раза 3 проделать операцию и потом уходило в dead-letter queues.

4) что можно сделать с dead-letter queues? можно ли обработать ошибку и отправить куда-то notification, чтоб я это увидел?

5) если на середине пути оборвалась цепочка как быть?
источник

D

Danil in AWS_RU
Sander 🕶
2) step function чем удобны? чтоб еще сильней программу разбить на более маленькие кусочки?
чтобы стейт хранить между шагами и юзер инпут получать например посередине пайплайна, например
Я так запросы типа "approve/reject" шлю
источник

S🕶

Sander 🕶 in AWS_RU
Danil
чтобы стейт хранить между шагами и юзер инпут получать например посередине пайплайна, например
Я так запросы типа "approve/reject" шлю
- можно по подробней про стейт, что вы имеете ввиду под стейтом,
- и про юзер инпут тоже пожалуйста, чтоб было понятно
источник

AP

Alexander Patrushev in AWS_RU
Sander 🕶
база данных dynamodb
Тогда dynamo streams
источник

AP

Alexander Patrushev in AWS_RU
Sander 🕶
2) step function чем удобны? чтоб еще сильней программу разбить на более маленькие кусочки?
Это оркестратор, там как раз с одного игруна можно параллельно кучу лямбд запустить. А есть логика retry и failed
источник

D

Danil in AWS_RU
Sander 🕶
- можно по подробней про стейт, что вы имеете ввиду под стейтом,
- и про юзер инпут тоже пожалуйста, чтоб было понятно
под стейтом подразумеваю состояние, которое может довольно долго храниться внутри отдельного execution. То есть условно можно запустить обработку чего-то, на каком-то шаге пайплайн может быть остановлен в неком состоянии и продолжен через день, два, неделю...
Ожидать он может например такое
https://aws.amazon.com/blogs/aws/using-callback-urls-for-approval-emails-with-aws-step-functions/
источник

D

Danil in AWS_RU
мой случай - рассылка отчета менеджменту. Первый шаг - отправка письма с отчетом, в письме 2 кнопки: approve/reject. Письмо отправляется и пайплайн ждет. Через неделю менеджер смотрит отчет, жмет approve и отчет публикуется, если reject,то сообщение об этом приходит отправителю отчета
источник

S🕶

Sander 🕶 in AWS_RU
Danil
под стейтом подразумеваю состояние, которое может довольно долго храниться внутри отдельного execution. То есть условно можно запустить обработку чего-то, на каком-то шаге пайплайн может быть остановлен в неком состоянии и продолжен через день, два, неделю...
Ожидать он может например такое
https://aws.amazon.com/blogs/aws/using-callback-urls-for-approval-emails-with-aws-step-functions/
например регистрация? человек должен подтвердить почту, после чего действия продолжаться.
источник

S🕶

Sander 🕶 in AWS_RU
Danil
мой случай - рассылка отчета менеджменту. Первый шаг - отправка письма с отчетом, в письме 2 кнопки: approve/reject. Письмо отправляется и пайплайн ждет. Через неделю менеджер смотрит отчет, жмет approve и отчет публикуется, если reject,то сообщение об этом приходит отправителю отчета
интересно, через api gateway стучиться видимо за результатом, но такое можно же сделать без step functions же,
например просто отдельными lambdas и sqs например, но наверное это будет сложней,
- а где состояние он держит? вот что интересно.
- когда переходишь между разными шагами, это разные функции, которые запускаются?
источник

S🕶

Sander 🕶 in AWS_RU
нужен ли мне тут sqs, хмм... будет ли с ним надежней.
источник

S🕶

Sander 🕶 in AWS_RU
----
еще такой интересный вопрос, знаю что на aws трафик очень дорогой, если я использую ec2 или lambda,
и к моему приложению делают http запросы клиенты, это считается как использование трафика? там просто за каждый gb платить придется.
источник