如何使用 boto 获取给定工作流执行的 SWF activity 信息

How to get SWF activity information for a given workflow execution using boto

查看 Amazon AWS 上的 SWF 控制台时,您可以查看关闭的工作流执行历史记录。在历史记录中,您可以看到所有被调用的活动及其输入和输出。

我无法弄清楚如何使用 boto 2 访问此 activity 信息。我能够获取工作流程的历史记录,但它类似于 "Events" 选项卡SWF 控制台而不是 "Activities" 选项卡。例如,它不包含任何活动的输出。

这是我用来到达我所在位置的代码:

domain = boto.swf.layer2.Domain(name=swf_domain, 
                                aws_access_key_id=<id>, 
                                aws_secret_access_key=<secret>)

close_oldest_date = int((datetime.utcnow() - 
                         timedelta(days=LOOKBACK_DAYS)).timestamp())
execution = domain.executions(closed=True,
                              close_status='COMPLETED',
                              maximum_page_size=1,
                              close_oldest_date=close_oldest_date)[0]

print(execution.history())

有没有办法使用 boto 2 访问已完成活动的输入、输出和其他信息?可能使用 boto 3?

历史包含有关 activity 执行的完整信息。

ActivityTaskScheduled 包含 activity.

的输入

ActivityTaskStarted 包含工人的身份(通常是 host:pid

ActivityTaskCompleted 包含 activity 输出。

ActivityTaskFailed包含失败信息

请参阅 API Referece 以获取有关可用事件及其含义的完整信息。