- Newest
- Most votes
- Most comments
I just want to follow up on this issue since it’s been resolved and others could benefit from my knowledge. I filed a support case with AWS with our Developer account and had a productive dialog with an AWS support engineer which led to a resolution to this issue.
First of all, AWS support verified that two “Completed” events are delivered at the completion of a batch transform job. Support mentioned that most of the fields in the two payloads are identical but he identified that one of the events have an empty (“”) value for the “ModelName” field. The other event has the correct name of the model used for inference. With this information he suggested that I change the event matching pattern to filter out one of the events.
I used the "anything-but" rule matching statement as described in the EventBridge user guide to exclude the ModelName field with an empty value: https://docs.aws.amazon.com/eventbridge/latest/userguide/content-filtering-with-event-patterns.html
The following event pattern will match only the "Completed" SageMaker batch transform event that has a non-empty value for “ModelName”. In other words, it would exclude the "Completed" event that has an empty value for the ModelName field so only one event would trigger the lambda function:
{
"detail-type": [
"SageMaker Transform Job State Change"
],
"source": [
"aws.sagemaker"
],
"detail": {
"TransformJobStatus": [
"Completed"
],
"ModelName": [
{
"anything-but": ""
}
]
}
}
As a result of this change, only one post processing job would be invoked - which was the intention.
The support engineer recognized that there wasn't a rational justification for sending two "Completed" events for a SageMaker Batch Transform job. He is engaging the SageMaker team for further investigation.
Relevant content
- asked 2 years ago
- Accepted Answerasked 4 years ago
- asked 6 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago