使用Lambda轮询Marketo

0

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

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

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

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

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

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

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

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

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

期待听到你的想法。

敬礼, Tanmay

1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen