通过云跟踪使用s3 put事件触发AWS状态机

时间:2019-04-02 13:52:12

标签: amazon-web-services state-machine aws-step-functions

有人能够通过s3 put事件成功触发aws状态机吗?我已按照here的说明进行操作,但似乎非常“忙碌”,在放置事件和编写cloudtrail日志之间通常会隔很长时间。

似乎也没有关于如何配置“事件规则”的说明,以便仅在文件放在特定子文件夹中时才触发?取而代之的是,状态机似乎是响应于将任何文件添加到目标存储桶中的任何位置而触发的,这使得在输出进入相同存储桶的无限循环中触发同一状态机非常危险。

如果任何人都可以在官方文档中添加任何内容以提高清晰度,那将是一个很大的帮助。非常感谢

1 个答案:

答案 0 :(得分:1)

CloudTrail日志有时可能很慢,如in the CloudTrail FAQ under "How long does it take CloudTrail to deliver an event for an API call?"所述:

  

通常,CloudTrail在API调用后的15分钟内发送一个事件。

关于特定子文件夹的事件规则,当前(如果我错了,有人更新我,可能已经过时)只能通过S3 Lambda触发器来实现。通过CloudWatch事件规则,您唯一可以做的就是通过遵循this guide向事件规则添加特定的键,它不会充当前缀,而是会触发事件的特定键,这可能会有所帮助。

如果特定键不够用,并且您仍需要在S3触发器定义中使用前缀/后缀,则可以考虑添加一个执行您的step函数的Lambda,无论如何它经常会被使用,因为它允许您自定义发送的事件步进功能。您可以从Lambda内部使用StartExecution API调用,并设置带有前缀which you can find information on here.

的S3 Lambda触发器