2 Answers
- Newest
- Most votes
- Most comments
1
There is no intrinsic function to get min/max of two numbers. Besides using a Lambda function, you can use a choice state to check which one of the two numbers is larger, and then another choice state to check if it is equal to the constant value.
0
As you noticed, there are no min/max functions available in Step Functions, however you can try something like this to compare two variables between each other and constant.
It's based on simple logic that can be coded as
a = 4
b = 5
const = 1
if a < b and a < const:
print("a is smaller")
elif b < a and b < const:
print("b is smaller")
Ecample (working) Step Function code:
{
"Comment": "Check minimum state machine",
"StartAt": "Choice",
"States": {
"Choice": {
"Type": "Choice",
"Choices": [
{
"And": [
{
"Variable": "$.a",
"NumericLessThanPath": "$.b"
},
{
"Variable": "$.a",
"NumericLessThanPath": "$.const"
}
],
"Next": "A is smaller"
},
{
"And": [
{
"Variable": "$.b",
"NumericLessThanPath": "$.a"
},
{
"Variable": "$.b",
"NumericLessThanPath": "$.const"
}
],
"Next": "B is smaller"
}
],
"Default": "Const not reached"
},
"A is smaller": {
"Type": "Pass",
"End": true
},
"Const not reached": {
"Type": "Pass",
"End": true
},
"B is smaller": {
"Type": "Pass",
"End": true
}
}
}
answered 5 months ago
Relevant content
- Accepted Answerasked 8 months ago
- Accepted Answerasked 2 years ago
- Accepted Answerasked 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated 2 years ago