使用Lambda轮询Marketo

0

【以下的问题经过翻译处理】 大家好,

我正在查询Marketo批量API。这就是从Marketo获取数据的方法:

  1. 设置工作任务
  2. 将工作任务排队
  3. 持续检查工作任务状态是否已完成
  4. 一旦完成,下载文件/数据

我对如何完成第3步有疑问。下面是我的思路:

  • 设置lambda每天触发一次
  • 完成第2步,并将工作ID设置为SQS,延迟10分钟
  • 一旦消息可见,触发Lambda以轮询API并检查状态

问题是,如果文件已准备好供使用,或者如果文件尚未准备好需要进行另一次轮询,应该采用哪种良好的体系结构。

如果文件已准备就绪 — 应该触发另一个lambda(具有更多内存和超时)来使用数据并处理它吗?

文件未准备好 — 最好的方法是删除消息并将其重新排入队列吗?还是有其他简单更好的架构?我能否利用步骤函数轻松完成?还是我应该利用完全不同的架构?

我需要一个Python包来查询Marketo。

期待听到你的想法。

敬礼, Tanmay

1 回答
0

【以下的回答经过翻译处理】 当您尝试设置轮询而又不想使其过于复杂时,使用AWS Step Functions是最好的选择。使用SQS的工作流并不罕见,我个人也用过。但是,这是AWS Step Functions可以更好地解决的问题。这里有一个使用AWS Step Functions进行轮询的示例。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则