Интеграция SmartyStreets с AWS Lambda

Я искал, искал информацию или руководства по интеграции SmartyStreets API с приложением, которое я хочу развернуть на AWS. Я создал службу, которая создает записи адресов в таблице DynamoDB, но данные геолокации отсутствуют. Я хочу использовать Lambda или AWS API Gateway для отслеживания новых документов, геокодирования и обновления документов в DynamoDB. Мне не очень везет, и любая помощь будет оценена по достоинству.


person lance0821    schedule 27.02.2016    source источник


Ответы (1)


Вам необходимо включить триггер в таблице DynamoDB, чтобы отправлять новые / обновленные записи в лямбда-функцию. Ваша лямбда-функция может принимать запись DynamoDB, запрашивать у стороннего API данные геолокации, а затем обновлять запись.

См. Это пошаговое руководство по созданию триггера для таблицы DynamoDB: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.Walkthrough.html

Если у вас есть конкретные вопросы о том, как создать функцию Lambda или как запросить сторонний API из Lambda, это, вероятно, лучше всего задать как отдельный вопрос на этом сайте.

person Mark B    schedule 27.02.2016
comment
Просто будьте осторожны с тем, как вы пишете свою функцию триггера Lambda, потому что она также будет срабатывать после того, как вы обновите запись с помощью геоданных. Ваша функция должна быть разумной в отношении того, нужно ли обновлять записи или нет. - person garnaat; 27.02.2016
comment
@garnaat подытожил. Я бы закодировал функцию триггера Lambda, чтобы она продолжалась только в том случае, если геоданные отсутствуют в записи, или, возможно, использовал бы какое-то дополнительное поле в таблице в качестве флага, чтобы определить, нужно ли обновлять геоданные. - person Mark B; 27.02.2016
comment
Спасибо, Марк! Я опубликую следующий вопрос о Lambda и стороннем API. Я искал stackoverflow в течение 6-7 лет, чтобы получить ответ, и всегда немного сомневался в том, чтобы публиковать новые вопросы, поскольку ответ обычно существует, если вы копаете достаточно глубоко! Спасибо еще раз - person lance0821; 02.03.2016